【问题标题】:Allowing all classes within a project access to a form允许项目中的所有类访问表单
【发布时间】:2018-01-24 18:36:36
【问题描述】:

我目前正在设计一个带有 Windows 窗体的项目。我还在创建要与此表单交互的类。除了将表单传递给我创建的每个对象之外,还有一种方法可以允许任何类与表单进行交互。这主要用于调试目的,我只想访问文本框。目前我必须这样做:

Dim x as new MyClass(Me)

其中 me 指的是我在其中实例化 MyClass 的表单。这意味着我需要在 MyClass 的 Sub New 中为表单分配一个变量(创建表单的新实例没有帮助)。 在班级内,我访问其他班级。如果有一种方法可以与我的表单进行交互而无需不断地向前传递,那就太好了。

谢谢。

【问题讨论】:

  • 看到这个:stackoverflow.com/a/38382104/8716187 基本上将您的表单视为一个类并构建您的方法和处理程序。
  • 我已经把表单当作一个类,我不确定你的意思。
  • 封装和OOP

标签: vb.net winforms windows-forms-designer


【解决方案1】:

使用您的FormPublic 变量声明创建一个Public Module 并分配它。

Public Module FormInstance
    Public Property MyForm as Form1
End Module

'Somewhere on you Form Startup
    FormInstance.MyForm = me

【讨论】:

  • 好的,但是如何在另一个类中访问 myform?
  • 只需从模块中调用它,FormInstance.MyForm
  • 是的,这不起作用,但这是因为未正确定义 MyForm。谢谢。
  • 不客气!如果对您有帮助,请接受它作为答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-01
  • 2020-04-15
  • 1970-01-01
  • 2017-05-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多