C# 正在引发System.Nullreferenceexception将数据从Form2传输到Form1
我有两个表单form1和form2,我想将值从form2转移到form1。 Form1有一个文本框,我想在其中输入Form2的值 Form2上有一个按钮,单击该按钮可将值从Form2上的textbox获取到form1上的textbox 这是我的密码: Form2.csC# 正在引发System.Nullreferenceexception将数据从Form2传输到Form1,c#,C#,我有两个表单form1和form2,我想将值从form2转移到form1。 Form1有一个文本框,我想在其中输入Form2的值 Form2上有一个按钮,单击该按钮可将值从Form2上的textbox获取到form1上的textbox 这是我的密码: Form2.cs private Form1 HandleToForm2; public Form2(Form1 frmHandle2) { HandleToForm2 = frmHandle2; Ini
private Form1 HandleToForm2;
public Form2(Form1 frmHandle2)
{
HandleToForm2 = frmHandle2;
InitializeComponent();
}
private void update_Click(object sender, EventArgs e)
{
HandleToForm2.WriteToTextBox2(textBox2.Text);
this.Hide();
}
public void WriteToTextBox2(string inputText1)
{
this.textBox8.Text = inputText1;
}
Form1.cs
private Form1 HandleToForm2;
public Form2(Form1 frmHandle2)
{
HandleToForm2 = frmHandle2;
InitializeComponent();
}
private void update_Click(object sender, EventArgs e)
{
HandleToForm2.WriteToTextBox2(textBox2.Text);
this.Hide();
}
public void WriteToTextBox2(string inputText1)
{
this.textBox8.Text = inputText1;
}
不知道为什么它的抛出NullReference异常“对象没有设置为对象的实例
HandleToForm2.WriteToTextBox2(textBox2.Text); //this line throws this exception
提前感谢:-)您尚未初始化HandleToForm2,因此它为空。有两种可能:HandleToForm2或textBox2包含空。如果您这样操作,您可以找到它:
在该行上设置断点。将生成配置切换为“调试”“并在调试模式下运行应用程序。到达断点时,将鼠标移到HandleToForm2上,VisualStudio将在工具提示中显示该变量的值。对textBox2执行同样的操作,您将看到哪些变量未初始化。要么
HandleToForm2
要么textBox2
为空-使用调试器找出哪个。我们需要查看显示表单2的代码。也许钥匙会在那里;)