Я хочу передать свою метку, которую я использую в своей основной форме, в анонимную форму. Под анонимной формой я подразумеваю, что количество форм может быть бесконечным. Я покажу свой код, чтобы было понятно.

Это моя вторая форма.

LABEL sourceObj;
public frmCounters(string text, ref LABEL _sourceObj)
{
   InitializeComponent();
   sourceObj = _sourceObj;
   this.Text = text;
   this.lblInfo.Text = text;
   this.lblTime = sourceObj;
}

И так я это называю

AnonymForm afrm = new AnonymForm("TEST1", ref lblTEST1);
afrm.Show();

Все, чего я хочу добиться здесь, это обновлять метку anonyform всякий раз, когда я меняю источник из своей основной формы. Я пробовал с ключевым словом ref и без него в конструкторе. Я привязал значение, полученное в конструкторе, к другой переменной, которую я храню в анонимной форме. Я также хотел попробовать отправить текстовое свойство в качестве ссылки, но Visual Studio сказала, что я не могу передать свойства с ключевым словом ref.

Мой вопрос в том, как я могу этого добиться?

0
Shino Lex 18 Дек 2019 в 14:03

1 ответ

Добавьте в метод класса AnonymForm, например:

public void SetLabelText(string value)
{
    this.label.Text = value;
}

И вызовите его из основной формы:

afrm.SetLabelText("TEXT");
3
Backs 18 Дек 2019 в 14:08
Я не держусь. Я называю это в своей полосе главного меню. Может в этом проблема? я должен где-то держать афро?
 – 
Shino Lex
18 Дек 2019 в 14:08
1
Да, вы можете хранить его в какой-либо переменной или, если у вас много форм, хранить их в массиве.
 – 
Backs
18 Дек 2019 в 14:09
Количество AnonymForm будет неизвестно. И не все AnonymForm будут иметь одинаковую метку. Некоторые из них могут иметь метки lblTEST2 или lblTEST3.
 – 
Shino Lex
18 Дек 2019 в 14:14
Нет, хранение объекта формы в списке не решило эту проблему. Изменения, которые я делаю в mainform.lblTEST1, не отражаются на моей анонимной форме.
 – 
Shino Lex
18 Дек 2019 в 14:16
Вы не должны менять метку в основной форме. Yoy должен поместить метку в дочернюю форму и изменить текст с помощью метода.
 – 
Backs
18 Дек 2019 в 14:21