0

form2 のテキストボックスからform1のリストボックスに値を送信すると、NullReferenceExceptionエラーが発生します。

ハンドラー コードは次のとおりです。

public void button1_Click(object sender, EventArgs e) {
    ListBox LB = Application.OpenForms["Form1"].Controls["Project_list"] as ListBox;
    LB.Items.Add(Project_name.Text);           
}

その中で何がうまくいかないのですか?

4

1 に答える 1

2

デモ目的のみ...このコードを確認し、ブレークポイントを設定して、何が起こるかを確認してください。

public void button1_Click(object sender, EventArgs e)
{
    // i do assume there is a class Form1 within your project?!
    Form1 frm = (Form1) Application.OpenForms["Form1"];
    // look for Project_list within your Form1.Controls, true to search all childControls too
    Control[] ctrls = frm.Controls.Find("Project_list", true);
    if (ctrls.Length >0)
    {
        ListBox LB =  ctrls[0] as ListBox;
        if (LB!=null)
            LB.Items.Add(Project_name.Text);           
        else
            System.Diagnostics.Debug.WriteLine("Doooooh");
    }
}

これは、コードの何が問題なのかを確認するための単なる例です!

于 2012-09-12T09:01:10.330 に答える