按钮点击动态添加文本框

时间:2012-11-22 15:09:36

标签: vb.net textbox

我正在使用vb.net windows窗体应用程序中的Windows窗体应用程序,因为它有两个按钮:

  1. 添加新文本框
  2. 将多个文本框数据插入数据库
  3. 当我点击第一个按钮时,它将创建新的文本框,如果我点击第二个按钮,它应该在数据库中插入多个文本框的数据。

    数据库只有两个字段

    1. Id主键
    2. 姓名
    3. 文本框包含名称。

      请建议我实现这个的方法我不知道这个。

1 个答案:

答案 0 :(得分:3)

在您的点击事件中,假设ID字段在数据库中自动递增:

dim myTxt as New TextBox
myTxt.Name = Me.Controls.Count.ToString '"random" name
myTxt.Location = New Point(10, 10) 'set the position according to your layout
myTxt.Tag = "For DB" 'something to identify it by
myTxt.Visible = True

Me.Controls.Add(myTxt) 'add it to form's control collection.
Me.Refresh             'If in panel etc. change Me with that control.

然后在您的第二次点击活动中:

... open database, do checks etc.

For each c As Control in Me.Controls
    If typeof c Is TextBox AndAlso c.Tag ="For DB" Then
        Dim txt As String = CType(c, TextBox).Text
        'insert txt into database
    End If
Next

(数据网格也可以为你做这件事。)

您也可以使用数组来执行创建,并且可以与您通过索引创建的每个文本框进行交互。

For y As UShort = 0 To indexsize_b - 1
    For x As UShort = 0 To indexsize_a - 1
    array(x, y) = New TextBox
    array(x, y).Size = New Size(60, 20)
    array(x, y).Location = New Point(5 + 60 * x, 40 + 20 * y)
    array(x, y).Visible = True
    Me.Controls.Add(array(x, y))
    Next
Next

通过以下内容进行互动:

string s = array(a, b).text