VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 801|回复: 3

能不能动态地生成控件

[复制链接]

2

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-24 16:00:01 | 显示全部楼层 |阅读模式
我有个这样的想法:在一个form的text中输入一个数字,比如3。然后面此form中就自动的生成3个text控件。
不知道各位大虾有没有办法。
谢谢了。
回复

使用道具 举报

1

主题

7

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-2-11 07:15:02 | 显示全部楼层
先放一个command空间和 text1控件的index设为0,贴下面代码
Private Sub Command1_Click()
Load Text1(1)
Text1(1).Top = Text1(0).Top + 1000
Text1(1).Visible = 1
Load Text1(2)
Text1(2).Top = Text1(1).Top + 1000
Text1(2).Visible = 1
End Sub
回复

使用道具 举报

0

主题

46

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-2-14 22:15:01 | 显示全部楼层
楼上的办法也不错。

实际上,VB 也可以动态生成 控件 的,但不能生成控件数组,想使用控件数组,需要自己重新组织。

Option Explicit
Dim WithEvents text1  As VB.TextBox
Dim text2 As VB.TextBox

Private Sub Form_Load()
  Set text1 = Controls.Add("VB.TextBox", "text1")
  text1.Visible = True
  
  Set text2 = Controls.Add("VB.TextBox", "text21")
  text2.Visible = True
  text2.Top = 500
End Sub
回复

使用道具 举报

0

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-2-16 23:15:01 | 显示全部楼层
'加入一个TextBox
        Set ctlText = Controls.Add("VB.TextBox", "ctlText1", Form1)

        '设置TextBox的位置和尺寸
        ctlText.Move (ctlDynamic.Left + ctlDynamic.Width + 50), _
                        1, 2500, 100
        '将textBox的背景色设置为蓝色并将前景色设置为白色
        ctlText.BackColor = vbBlue
        ctlText.ForeColor = vbWhite
        '使TextBox可见
        ctlText.Visible = True
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表