【发布时间】:2016-12-08 06:32:22
【问题描述】:
我正在努力在每次单击按钮时添加一组文本框,但下一组文本框的位置应参考先前创建的文本框。
这是屏幕截图。
我知道我的位置代码有问题。谁能帮我检查一下。
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles addbox.Click
Dim Count = gbox2.Controls.OfType(Of TextBox)().ToList().Count
For i As Integer = 1 To 6
Dim txtbox As New TextBox()
Select Case i
Case 1
txtbox.Location = New System.Drawing.Point(17, 30 * Count)
txtbox.Size = New System.Drawing.Size(43, 26)
txtbox.Name = "itemno2" & (Count + 1)
gbox2.Controls.Add(txtbox)
Case 2
txtbox.Location = New System.Drawing.Point(81, 30 * Count)
txtbox.Size = New System.Drawing.Size(43, 26)
txtbox.Name = "unit2" & (Count + 1)
gbox2.Controls.Add(txtbox)
Case 3
txtbox.Location = New System.Drawing.Point(142, 30 * Count)
txtbox.Size = New System.Drawing.Size(254, 26)
txtbox.Name = "itemdesc2" & (Count + 1)
gbox2.Controls.Add(txtbox)
Case 4
txtbox.Location = New System.Drawing.Point(417, 30 * Count)
txtbox.Size = New System.Drawing.Size(56, 26)
txtbox.Name = "requan2" & (Count + 1)
gbox2.Controls.Add(txtbox)
Case 5
txtbox.Location = New System.Drawing.Point(21, 30 * Count)
txtbox.Size = New System.Drawing.Size(56, 26)
txtbox.Name = "issuequan2" & (Count + 1)
gbox3.Controls.Add(txtbox)
Case 6
txtbox.Location = New System.Drawing.Point(94, 30 * Count)
txtbox.Size = New System.Drawing.Size(144, 26)
txtbox.Name = "remarks2" & (Count + 1)
gbox3.Controls.Add(txtbox)
End Select
Next
'addbox.Visible = False
save.Visible = False
End Sub
任何帮助将不胜感激。提前致谢。
【问题讨论】:
-
您应该有一个变量来存储最后一个文本框的当前顶部位置。单击按钮时,将文本框的高度添加到此变量 + 文本框行之间的空格。初始顶部应该相对于您的分组框