VB编写ActiveX控件时,动态添加控件到某个容器

网上没找到答案,反复测试代码发现了比较奇葩的事情

将控件添加到顶层容器里面

还是帖代码让大家看看吧

代码如下

Private Sub Command1_Click()
    Dim testText As TextBox
'    Set testText = UserControl.Controls.Add("VB.TextBox", "testText", UserControl1)                                        '工程中有UserControl1(顶层容器),但代码执行为空值
    Set testText = UserControl.Controls.Add("VB.TextBox", "testText", UserControl.Controls(0).Container)                    '这样又可以添加到顶层容器里面,真搞不清楚为什么
'    Set testText = UserControl.Controls.Add("VB.TextBox", "testText", Frame1)                                               '注意这段代码中UserControl不是控件名,是active的主控件
    With testText
        .Top = 1000
        .Left = 1000
        .Text = "测试文本框"
        .Visible = True
        .Locked = True
        .Width = 2000
        .Height = 375
    End With
End Sub

奇葩问题如注释所述

插入结果如图:

如果有大神知道为什么直接通过顶层控件的添加控件会报空值,还望指点迷津

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值