我在vb.net(2012)版,窗体中有一个文本框和一个datagridview控件。想要实现的功能:通过文本框输入一个数字,在datagridview中自动产生对应的行数。还需要在自动产生行的同时,在行的右边在自动添加两个按钮。文本框中一输入数字,就自动产生行,在同一行就会出现两个按钮。基本实现,效果图如下:
代码如下:
'文本框内容改变事件
Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
Dim iLoops As Integer
DataGridView1.Rows.Clear()
If TextBox1.Text = "" Then
MsgBox("请输入行数!", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly)
Exit Sub
End If
iLoops = CInt(TextBox1.Text)
Dim i As Integer
For i = 1 To iLoops
DataGridView1.Rows.Add(CStr(i), "", "", "", Guid.NewGuid().ToString())
Next
AddButton()
End Sub
'添加两个按钮
Private Sub AddButton()
Dim btn1 As DataGridViewButtonColumn = New DataGridViewButtonColumn()
Dim btn2 As DataGridViewButtonColumn = New DataGridViewButtonColumn()
btn1.HeaderText = ""
btn1.Text = "增加"
btn1.Name = "btnSet1"
btn1.Width = 70
btn1.UseColumnTextForButtonValue = True
btn2.HeaderText = ""
btn2.Text = "删除"
btn2.Name = "btnSet2"
btn2.Width = 70
btn2.UseColumnTextForButtonValue = True
DataGridView1.Columns.Add(btn1)
DataGridView1.Columns.Add(btn2)
End Sub
第一次输入有效,但是当第二次在文本框输入的时候,行数是正确的,右边的按钮会增加,一直增加。
如下效果图:
请问如何解决:当文本框任意改变,行数增加,按钮所在的列就只有两列按钮,而不是一直增加。