'在 Form1 上,什麼都不放,就直接將下列的程式碼複製進去,執行看看,發生什麼事情了。
'其他額外含入的控制項也可以用相同的方法來動態產生,只是必須先引用該原件,才可以動態產生
Option Explicit
Const L1 = "客戶代號"
Const L2 = "客戶簡稱"
Const L3 = "客戶名稱"
Const S1 = 10
Const S2 = 10
Const S3 = 50
Const Y1 = 120
Const Y2 = 600
Const Y3 = 1080
Const X1 = 100
Const X2 = 100
Const X3 = 100
'WithEvents 可以使該動態產生的控制項也具有事件觸發的特性
Dim WithEvents Txt1 As VB.TextBox, _
WithEvents Txt2 As VB.TextBox, _
WithEvents Txt3 As VB.TextBox
Dim Lab1 As VB.Label, _
Lab2 As VB.Label, _
Lab3 As VB.Label
Private Sub Form_Load()
Set Txt1 = Me.Controls.Add("vb.textbox", "txt1")
With Txt1
.Visible = True
.FontName = "細明體"
.FontSize = 9
.Height = .FontSize * 20
.Text = "aim0000123"
.Top = Y1
.Left = X1 + 1100
.Width = (.FontSize * 10) * (S1 + 1)
End With
Set Txt2 = Me.Controls.Add("vb.textbox", "txt2")
With Txt2
.Visible = True
.FontName = "細明體"
.FontSize = 9
.Height = .FontSize * 20
.Text = "Aim Wang"
.Top = Y2
.Left = X2 + 1100
.Width = (.FontSize * 10) * (S2 + 1)
End With
Set Txt3 = Me.Controls.Add("vb.textbox", "txt3")
With Txt3
.Visible = True
.FontName = "細明體"
.FontSize = 9
.Height = .FontSize * 20
.Text = "This is a dynamic creat objects test."
.Top = Y3
.Left = X3 + 1100
.Width = (.FontSize * 10) * (S3 + 1)
End With
Set Lab1 = Me.Controls.Add("vb.label", "lab1")
With Lab1
.Visible = True
.FontName = "細明體"
.FontSize = 12
.Caption = L1
.Top = Y1
.Left = X1
End With
Set Lab2 = Me.Controls.Add("vb.label", "lab2")
With Lab2
.Visible = True
.FontName = "細明體"
.FontSize = 12
.Caption = L2
.Top = Y2
.Left = X2
End With
Set Lab3 = Me.Controls.Add("vb.label", "lab3")
With Lab3
.Visible = True
.FontName = "細明體"
.FontSize = 12
.Caption = L3
.Top = Y3
.Left = X3
End With
End Sub