首先,在窗体画一个名为Text1的文本框,将其Index属性设置为0,Left属性设置为100,Top属性设置为100.
再在窗体上添加一个命令按钮,其单击事件代码如下:
Private Sub Command1_Click()Dim n As Integer
n = InputBox("请输入要生成文本框的个数", , 5)
For i = 1 To n - 1
Load Text1(i)
Text1(i).Left = 100
Text1(i).Top = 100 + (Text1(i).Height + 100) * i
Text1(i).Visible = True
Next i
End Sub
运行程序,单击此按钮,即可根据你设定的个数生成TextBox控件。
添加动态按钮,及关联按钮事件的方法如下----------------------
' 声明对象
Dim newButton As New System.Windows.Forms.Button
' 预设对象
With newButton
.Name = [按钮控件名称]
.Text = [按钮显示内容]
.Location = New Point([x位置], [y位置])
.Size = New System.Drawing.Size([控件宽], [控件高])
.FlatStyle = FlatStyle.Standard
End With
' 生成添加对象
Controls.Add(newButton)
' 相关事件链接
AddHandler newButton.Click, AddressOf myButtonHandler_Click
----------------------
若为标签,则 首行对象为System.Windows.Forms.Label
若为文本框,则 首行对象为System.Windows.Forms.TextBox
如果要处理其他事件,自己在[相关事件链接]部分添加链接就可以了
举着例子如TextBox的TextChanged事件
AddHandler newTextBox.TextChanged, AddressOf myTextBox_TextChanged
AddHandler 后为事件对象, AddressOf 后为为事件对象分配的名称
这样在处理事件是,就可以用名称 *** 作
Private Sub myTextBox_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
...
End Sub
Private Sub Command1_Click()Dim a As TextBox
Dim i As Integer
For i = 0 To 9
Set a = Form1.Controls.Add("VB.TextBox", "Text" &i)
a.Visible = True
a.Move i * 500, i * 400, 1000, 300
a.BackColor = RGB(255, 255, 255)
a.Text = "Text" &i
Next
Lab.Caption = "动态添加控件成功"
End Sub
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)