При выведение текста из TextBox из одной формы в label другой формы, label пропадает почему?

Я не давно начал изучать С#.
Глупая проблема но при выведение текста из TextBox из одной формы в label другой формы, label пропадает. почему?
Вот код кнопки.
private void B_Ready_Click(object sender, EventArgs e)
        {
            Form_Registration f1 = new Form_Registration();
            form2 f2 = new form2();

            f2.Show();

            f2.LB_name.Text = f1.TB_name.Text;
        }
  • Вопрос задан
  • 1443 просмотра
Решения вопроса 1
Young_khv
@Young_khv
ASP.NET Developer
1) Не очень хорошая практика давать доступ к контролам формы из вне. Лучше определите публичный метод, который будет менять текст лэйбла, но доступ непосредственно к контролу будет закрыт внутри формы (ну или тут как публичное свойство)

// this code is inside form2
public string LabelText
        {
            get
            {
                return this.LB_name.Text;
            }
            set
            {
                this.LB_name.Text = value;
            }
        }


2) Производите операции по работе с дочерней формы ДО вызова метода Show(), т.к. после этого управление перейдёт к новой форме и код после не будет выполнен

private void B_Ready_Click(object sender, EventArgs e)
{
    var f2 = new Form2();
    f2.LabelText = "bla bla";
    f2.Show();
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы