2010-03-01 70 views

回答

2

最简单的方法是声明与控件相同类型的模块级变量,并使用WithEvents关键字。例如

Option Explicit 
' Declare object variable as CommandButton and handle the events.' 
Private WithEvents cmdObject As CommandButton 

Private Sub Form_Load() 
    'Add button control and keep a reference in the WithEvents variable' 
    Set cmdObject = Form1.Controls.Add("VB.CommandButton", "cmdOne") 
    cmdObject.Visible = True 
    cmdObject.Caption = "Dynamic CommandButton" 
End Sub 

'Handle the events of the dynamically-added control' 
Private Sub cmdObject_Click() 
    Print "This is a dynamically added control" 
End Sub 

如果您希望能够通过一个中央例程处理来自许多不同类型控件的事件,则会有更复杂的变化。

2

这取决于控件是否是内在的。

This文章解释它。

+0

不完全。这取决于您是否已将控件的引用添加到项目中。而且,几乎所有时候,最好添加参考。假设有参考,我写了我的答案。 – MarkJ 2010-03-02 15:25:11