中国有多少新药上市:在VB中如何动态创建控件??

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 06:34:20
在VB中如何动态创建控件??
比如动态创建label控件
不然太占资源
我的一个程序需要很多很多控件
http://zhidao.baidu.com/question/5248806.html

http://zhidao.baidu.com/question/5248806.html
你的这帖我也回了。

讲话要文明点,特别是问问题时,要不谁还敢回答?

给你两种方法

Option Explicit
Dim oCtrl As Object
'使得控件可以响应事件
Dim WithEvents MyBtn As CommandButton

Private Sub Form_Load()
Dim i As Integer
'先在窗体上加载个Label1(0)的标签控件
For i = 1 To 3
Load Me.Label1(i)
Label1(i).Top = Label1(i - 1).Top + 2 * Label1(0).Height
Label1(i).Caption = "Label1(" & i & ")"
Label1(i).Visible = True
Next
'Debug.Print Me.Label1.Count
LoadControl
LoadControlWithEvents
End Sub

Private Sub LoadControl()
Set oCtrl = Controls.Add("VB.CommandButton", "Button1")
With oCtrl
.Caption = "不会响应事件的按钮"
.Width = 2000
.Left = 100
.Top = 200
.Visible = True '控件加载后默认为不可见,故此步骤至关重要!
End With
End Sub

Private Sub LoadControlWithEvents()
Set MyBtn = Controls.Add("VB.CommandButton", "Button2")
With MyBtn
.Caption = "我可以响应事件!"
.Width = 1800
.Left = 100
.Top = 700
.Visible = True
End With
End Sub

Private Sub MyBtn_Click()
MsgBox "我要移除动态加载的控件了!"
Me.Controls.Remove "Button1"
Me.Controls.Remove "Button2"
End Sub