【发布时间】:2012-04-03 16:37:20
【问题描述】:
我在 C# 桌面应用程序中有 2 个表单。表格 1 和表格 2。
Form1 包含一个在 ListBox 控件中添加项目的公共方法,如下所示:
public void AddToList(string item)
{
listBox.Items.Add(item);
}
当我直接在某个按钮按下时调用此方法时,它工作正常。但是当我从 Form2 调用此方法时,它不会在 Form1 上的 ListBox 控件中添加任何内容。 Form2中的代码如下:
Form1 frm = new Form1();
frm.AddToList("something");
当我运行它时,什么也没有发生。没有错误什么都没有。它只是没有将任何项目添加到 ListBox 中。
我做错了什么?
【问题讨论】:
-
听起来您正在创建 Form1 的新实例,而不是在 GUI 中引用现有实例。您能否发布更多显示/使用 Form1 和 Form2 的 GUI 层代码?
-
您的项目中有两种类型。但是您正在为每种类型创建多个 object。添加 frm.Show() 以查看您的错误。
-
你是如何创建你的两个表单的?它们都是由像 MDI 这样的第三种表单创建的,还是 Form1 创建 Form2,或者如何创建?这将帮助我们解答如何让您的两个表单相互交流。