【发布时间】:2012-01-31 11:47:40
【问题描述】:
我正在尝试在几个 winforms 之间传递值,我总共有 6 个 winforms,用户将循环使用。我正在使用 TextBox 和标签控件在表单之间传递值。
当我打开主 winform,然后单击按钮加载第二个 winform,一切正常(我可以将值传递给第一个表单)。我的问题是,一旦我将用户引导到另一个表单并 this.Hide(); 当前(第二个 Winform)然后尝试使用第三个表单将值传递给第一个表单,我会收到以下错误:
对象引用未设置为对象的实例。
我很困惑,因为应该传递值的控件将值传递给第一个表单不是NULL
我使用相同的代码将所有表单连接在一起。
public MainForm MainForm;
然后我尝试像这样传递值:
MainForm.textBox1.Text = txt_FileName.Text;
注意:所有在表单之间传递值的TextBox和Label控件都是public
有人遇到过这个吗?或任何想法? .
【问题讨论】:
-
显然有些东西是空的,所以你需要在错误的上下文中向我们提供一些代码。
-
您应该真正考虑使用在表单之间传递的简单数据对象,而不是公共控件。所有表单中的所有控件都应该是私有的(或者如果您从表单派生,则可能受到保护)。一般来说,UI 对象中的公共控件是未来灾难的根源。即使你让它工作,你也会有这个设置的维护噩梦。