@demon123
developer

Как очистить textBox'ы на другой форме?

a076b7632a7c4c65965d2d3927c2a359.pngprivate
Вот так собственно выглядит форма.
void Cancel_Click(object sender, EventArgs e)
{
Close();
Form1 f = new Form1();
f.textBox1.Text = null;
f.textBox2.Text = "";
f.textBox3.Text = string.Empty;
}

Пробовал так писать, но не получается. Форма закрывается, а textBox'ы не очищаются.
  • Вопрос задан
  • 2425 просмотров
Решения вопроса 1
cjey
@cjey
Вы создаете новую форму и в ней очищаете данные, поэтому и не работает текущий вариант.
Я так понимаю вам нужно очищать данные в уже созданной форме.

Наиболее правильным решением будет
в Form1:
Form2 f2 = new Form2();
if (f2.ShowDialog() == DialogResult.OK)
{
  TextBox1.Text = "ok";
}
else 
{
  TextBox1.Text = "";
}


А в Form2
private void Cancel_Click(object sender, EventArgs e)
{
  dialogResult = DialogResult.Cancel;
  Close();
}

private void OK_Click(object sender, EventArgs e)
{
  dialogResult = DialogResult.OK;
  Close();
}


Альтернативным решением будет хранить в статическом поле класса Program ссылку на Form1 и обращаться к форме 1 через Program.form1
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AlexP11223
Дык у вас объект f выбрасывается сразу после завершения метода Cancel_Click, вы не делаете с ним ничего, не открываете эту форму и т.д..
Ответ написан
Ваш ответ на вопрос

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

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