C# 由于某些原因,我的文本框在c语言中无法清除#
要开始我正在验证用户是否要清除文本框:C# 由于某些原因,我的文本框在c语言中无法清除#,c#,textbox,C#,Textbox,要开始我正在验证用户是否要清除文本框: public void CheckSure() { Form2 f2 = new Form2(); f2.Visible = true; } 然后Form2打开,我在是和否之间进行选择,我选择是: private void YesButton_Click(object sender, EventArgs e) { Form1 f1 = new Form1();
public void CheckSure()
{
Form2 f2 = new Form2();
f2.Visible = true;
}
然后Form2打开,我在是和否之间进行选择,我选择是:
private void YesButton_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
this.Hide();
f1.Clear();
}
public void Clear()
{
TextSpace.Text = string.Empty;
}
然后调用clear方法,该方法应清除文本框:
private void YesButton_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
this.Hide();
f1.Clear();
}
public void Clear()
{
TextSpace.Text = string.Empty;
}
使用断点,我已经确定它肯定会运行行TextSpace.Text=string.Empty代码>但是由于某种原因文本框不清晰?
任何帮助都将不胜感激。您正在创建Form1的新实例。您需要使用当前实例
在实例化Form2时,可以利用Form.Owner
属性:
var form2 = new Form2();
form2.Owner = this;
然后在Form2中,要访问Form1,您可以调用this.Owner.TextSpace.Clear()
您的是按钮单击处理程序正在创建Form1
的新实例,当这一切都可能发生时,它需要引用当前的表单1
。您创建了一个新表单并立即调用Clear
,这有点危险-您是否应该在f2
上调用Clear
?或者它确实是f1
?您也可以使用MessageBox:if(MessageBox.Show(message,caption,MessageBoxButtons.YesNo)==System.Windows.Forms.DialogResult.Yes)TextSpace.Text=string.Empty;非常感谢,我已经确定了本的一个,但所有这些都很有用,帮助我理解为什么它不起作用。