交叉形式控制操作是否有公认的做法?

时间:2010-11-22 01:18:27

标签: c# winforms user-interface forms

假设我有两种形式: Form1 Form2 。 Form1有一个文本框, Textbox1 Button1

单击Button1时,将创建并显示Form2的新实例。如果Form2需要访问Textbox1,应该如何公开它? Form2应该有一个公共变量来保存对文本框的引用吗?或者,当Form2关闭时,它应该调用Form1上的一些更新文本框的公共方法吗?谢谢你的建议。

2 个答案:

答案 0 :(得分:2)

您应该将公共属性添加到第一个公开文本框文本的表单。

然而,更重要的是,您应该为控件和表单命名 (几乎)没有比带有控件textBox1button1comboBox13checkBox37的表单更糟糕的事情。

答案 1 :(得分:1)

如果Form2在加载时需要Form1中的文本框值,我会将该值添加到Form2的构造函数方法并以这种方式传递。

如果Form1需要获取在Form2中输入的新值,您可以创建一个带有Event的委托,该委托将值传递回Form1中指定的事件处理程序。

创建公共属性可能是最快的解决方案,但如果是这种情况,我会尽量远离表单之间的循环引用。

希望这有帮助!

相关问题