代码之家  ›  专栏  ›  技术社区  ›  Chris Laplante

是否有公认的跨窗体控件操作实践?

  •  0
  • Chris Laplante  · 技术社区  · 14 年前

    假设我有两种形式: 表格1 表格2 . 表单1有一个文本框, 文本框1 按钮1 .

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

    2 回复  |  直到 14 年前
        1
  •  2
  •   SLaks    14 年前

    您可能应该向第一个显示文本框文本的窗体添加公共属性。

    然而,更重要的是, 您应该命名控件和窗体 .
    没有比有控件的窗体更糟的了 textBox1 , button1 , comboBox13 , checkBox37 .

        2
  •  1
  •   dretzlaff17    14 年前

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

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

    创建公共属性可能是最快的解决方案,但如果是这样的话,我会尽量避免表单之间的循环引用。

    希望这有帮助!