@omerkhan

Как изменить дочерние значения в GroupBox?

Здравствуйте. У меня есть
void change(string first, string second, string third)
        {
            Label label1 = new Label();
            label1.Text = questions[current];
            groupBox1.Controls.Add(label1);
        }

И я его применяю несколько раз. Когда применяешь первый раз, все работает. Но когда label1 уже создан почему-то не работает и значение label1 не меняется. Но label1 я создаю программно, поэтому не могу очистить через label1.Text = "". Как мне сделать, чтобы я мог использовать это процедуру несколько раз и чтобы значение label1 всегда менялось?
  • Вопрос задан
  • 58 просмотров
Решения вопроса 1
igolets
@igolets
Программист C#, MSSQL
Label label1 — локальная переменная метода. Нужно её сделать полем класса и не создавать заново, если уже значение задано.

void change(string first, string second, string third)
        {
            if(label1 == null)
            {
                label1 = new Label();
                groupBox1.Controls.Add(label1);
            }
            label1.Text = questions[current];
        }
private Label label1 = null;
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
yarosroman
@yarosroman Куратор тега C#
C# the best
Ну и сохраняйте ссылочку на label1 в список например.
Ответ написан
Комментировать
BasiC2k
@BasiC2k
.NET developer (open to job offers)
В функции добавьте проверку - если label1 существует, то нужно изменить его значение. Если не существует, то создать и добавить на groupBox1.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы