假设我有两种形式: Form1 和 Form2 。 Form1有一个文本框, Textbox1 和 Button1 。
单击Button1时,将创建并显示Form2的新实例。如果Form2需要访问Textbox1,应该如何公开它? Form2应该有一个公共变量来保存对文本框的引用吗?或者,当Form2关闭时,它应该调用Form1上的一些更新文本框的公共方法吗?谢谢你的建议。
答案 0 :(得分:2)
您应该将公共属性添加到第一个公开文本框文本的表单。
然而,更重要的是,您应该为控件和表单命名
(几乎)没有比带有控件textBox1
,button1
,comboBox13
,checkBox37
的表单更糟糕的事情。
答案 1 :(得分:1)
如果Form2在加载时需要Form1中的文本框值,我会将该值添加到Form2的构造函数方法并以这种方式传递。
如果Form1需要获取在Form2中输入的新值,您可以创建一个带有Event的委托,该委托将值传递回Form1中指定的事件处理程序。
创建公共属性可能是最快的解决方案,但如果是这种情况,我会尽量远离表单之间的循环引用。
希望这有帮助!