Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在引发System.Nullreferenceexception将数据从Form2传输到Form1_C# - Fatal编程技术网

C# 正在引发System.Nullreferenceexception将数据从Form2传输到Form1

C# 正在引发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

我有两个表单form1和form2,我想将值从form2转移到form1。 Form1有一个文本框,我想在其中输入Form2的值 Form2上有一个按钮,单击该按钮可将值从Form2上的textbox获取到form1上的textbox

这是我的密码:

Form2.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;

     }
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的代码。也许钥匙会在那里;)