我需要动态创建标签和按钮,然后将它们添加到用户窗体内的框架中.我该怎么做呢?看起来它应该比实际更容易.
以下代码演示了如何使用控件动态填充用户窗体中的帧...
在我使用的表单中,我有一个名为Frame1的帧控件,因此在UserForm_Initialize中,您调用Frame1.Controls.Add将控件嵌入到帧中.您可以设置返回到您在UserForm代码模块中定义的WithEvents控件变量的控件,以便您可以响应您想要的任何控件上的事件...
因此,使用此方法,您需要为您创建的任何控件预先编写所需的任何事件代码...
另请注意,即使顶部,左侧,宽度和高度属性不一定出现在intellisense中,您也可以对控件进行定位和调整大小...
Private WithEvents Cmd As MSForms.CommandButton Private WithEvents Lbl As MSForms.Label Private Sub UserForm_Initialize() Set Lbl = Frame1.Controls.Add("Forms.Label.1", "lbl1") Lbl.Caption = "Foo" Set Cmd = Frame1.Controls.Add("Forms.CommandButton.1", "cmd1") End Sub Private Sub Cmd_Click() Cmd.Top = Cmd.Top + 5 End Sub Private Sub Lbl_Click() Lbl.Top = Lbl.Top + 5 End Sub