如何从Form2中清除Form1中的TextBox? C#

时间:2015-06-14 04:23:38

标签: c# forms winforms textbox

我在Form1中有一个TextBox(我们称之为textBox1)。当用户按“新建”清除屏幕时,在接受他们的工作将丢失后(从Form2中),如何清除textBox1?我不能直接从第二种形式访问它,我想不出一个可行的方法来做到这一点。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

git remote add origin https://github.com/yourUserNamehere/test-repo.git 中添加公示成功标志,然后再进行检查。或者,您可以使用Form2ShowDialog的内置功能。 在OOP和逻辑方面比从DialogResult更改Form1的值更合适。

如果更改硬编码表单的值,则无法再次重复使用此表单。

使用这种方法,您可以在任何地方重复使用此表单。 使用简单的自定义变量:

Form2

使用public class Form2 : Form { public bool Result { get; set; } public void ButtonYes_Click(object sender, EventArgs e) { Result = true; this.Close(); } public void ButtonNo_Click(object sender, EventArgs e) { Result = false; this.Close(); } } public class Form1 : Form { public void Button1_Click(object sender, EventArgs e) { using (Form2 form = new Form2()) { form.ShowDialog(); if (form.Result) TextBox1.Text = String.Empty; } } } DialogResult

ShowDialog

最好使用public class Form2 : Form { public void ButtonYes_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.Yes; this.Close(); } public void ButtonNo_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.No; this.Close(); } } public class Form1 : Form { public void Button1_Click(object sender, EventArgs e) { using (Form2 form = new Form2()) { var result = form.ShowDialog(); if (result == DialogResult.Yes) TextBox1.Text = String.Empty; } } } ,因为表格不会在using之后处理 它使得处置确定性。通过这种方式,您可以确保在停止使用后立即处理它。