求教VB中如何动态生成textbox控件

求教VB中如何动态生成textbox控件,第1张

首先,在窗体画一个名为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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11919191.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存