我正在使用vb.net windows窗体应用程序中的Windows窗体应用程序,因为它有两个按钮:
当我点击第一个按钮时,它将创建新的文本框,如果我点击第二个按钮,它应该在数据库中插入多个文本框的数据。
数据库只有两个字段
文本框包含名称。
请建议我实现这个的方法我不知道这个。
答案 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