vb如何动态创建控件,并放在指定的容器中

2024-12-24 18:28:16
推荐回答(2个)
回答1:

假设你在窗体上添加一个PictureBox作为容器,添加一个按钮,代码如下:
Option Explicit
'定义控件对象
Private WithEvents Text1 As TextBox

Private Sub Command1_Click()
'动态添加控件
Set Text1 = Me.Controls.Add("VB.TextBox", "Text1", Picture1)
'设置该对象为可见
Text1.Visible = True
Text1.Top = 200
Text1.Left = 300

Text1.Text = "您好!"

End Sub

回答2:

无论想要创建何种类型的数据驱动窗体,必须知道如何在运行时动态地创建控件。可以通过控件数组做到这一点,但VB6的Controls集合所提供的Add方法,功能更强大,灵活性更高。使用该方法,不需要在设计时将控件的实例放在窗体上。实际上,用Add方法甚至可以创建程序在编译时根本不存在的控件。
' 声明一个窗体级的变量
Dim WithEvents txtTotal As TextBox
Sub CreateTextbox()
' 创建新的Textbox控件
Set txtTotal = Controls.Add("VB.TextBox", "txtTotal")
' 将控件移动到你所需要的地方
txtTotal.Move 1000, 800, 1200, 300
' 创建时,所有的控件都是不可见的
txtTotal.Visible = True
End Sub