我们可以动态地将事件处理程序附加到类而不创建对象的实例吗?
我的情景
从主窗体[级别0]我调用子窗体[级别1],这些子窗体我可以从主窗体中添加动态事件。但是从子表格中我又称表格[等级2]。我无法从此级别添加动态事件[级别2]。我不知道表单何时从第1级调用,它必须是按钮点击事件或任何其他事件。
以下代码不起作用,因为它需要一个实例,frm是一个实例
Dim frmLoad = New FormLoadEventHandler(AddressOf On_Load)
t.GetEvent("Load").AddEventHandler(frm, frmLoad)
我正在将单个程序集加载到一个平台中,因此每个单独的程序集都有这么多子表单,从我的主模块我可以通过反射访问初始表单。我的想法是在从我的平台调用的所有表单中使字体相同
答案 0 :(得分:0)
将主表单的实例传递给2级表单,并使用传递的引用添加事件处理程序。
答案 1 :(得分:0)
如何在...中传递字体
'Modify a form so the constructor takes a font
Private Property CustomFont As Font
Public Sub New(FontToUse As Font)
' This call is required by the designer.
InitializeComponent()
'Store the font for later use
Me.CustomFont = FontToUse
'Use the font on all controls as appropriate here
End Sub
Public Sub MakeChildren()
'Create a child form and tell it which font to use
Dim ChildForm As New ChildForm(CustomFont)
ChildForm.Show()
End Sub
等等