Отправка значения в другую форму

При отправке значения из текстового поля в 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);           
}

Что в этом не так?

1 ответ

Решение

Только для демонстрационных целей... Проверьте этот код, установите точку останова и посмотрите, что произойдет.

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");
    }
}

Это всего лишь пример того, что не так с вашим кодом!

Другие вопросы по тегам