关于在VB中动态加载控件的方法

动态加载控件,有诸多好处,
以前以为,只有在VC中才能动态加载控件,而在VB中,只能定义一个数组,然后采用Load方式加载。近日编码,才发现,原来VB中也可以方便的动态加载。

举例子总结一下,免得以后到处查:

1:动态加载VB固有的控件。
如:加载一个文本框
    Controls.Add "VB.TextBox", "txtDynamic", Me
    With Me!txtDynamic
        .Visible = True
        .Width = 2000
        .Text = "0"
    End With

2:如何绑定事件呢?
Private WithEvents txtTest As TextBox
Set txtTest = Me!txtDynamic
Private Sub txtTest_KeyPress(KeyAscii As Integer)
    
End Sub

3:动态加载自定义控件。注意,一定需要License。
   Licenses.Add "Project2.UserControl1", "kaghfadhghlaahnhigaaohaaogjgmaehoanb"
   Set ctlExtender = Controls.Add("Project2.UserControl1", "MyControl")
   With ctlExtender
      .Visible = True
      .Top = 1000
      .Left = 1000
   End With


4:那么,自定义控件如何生成License?
1:工程属性页>>General  Require license key 勾上。
2: 打开生成的VBL文件,第二行中有Key。一看便知。


5:如何绑定自定义控件的事件呢?
Private WithEvents ctlExtender As VBControlExtender
Private Sub ctlExtender_ObjectEvent(Info As EventInfo)
    Debug.Print Info.Name
End Sub
嗯,参数怎么取?
如:自定义控件的事件为:
Public Event EditChange(ByVal Param1 As String)
取参数就是:
Info.EventParameters("Param1")

6:对了,有License的自定义控件不动态加载,直接使用,需要License吗,如何注册?
需要。 把VBL文件当作reg文件注册一下就好了。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值