我仍在学习 VB 并且遇到了一个没有像样教程的问题。我创建了一个动态表单,它在循环的每个循环中生成一个文本框和一个更新按钮。
我已经声明了以下全局变量:
Dim tbRef As Textbox
WithEvents btnUpdate As Button
稍后在循环中执行以下操作
Do Until counter = Maxrows
counter = counter + 1
...
tbRef = New TextBox
...
Me.Controls.Add(tbRef)
btnUpdate = New button
...
AddHandler btnUpdate.Click, AddressOf btnUpdate_Click
Me.Controls.Add(btnUpdate)
...
tbRef.Text = ds.Tables("Records").Rows(counter - 1).Item(0)
Loop
最后
Private Sub btnUpdate_Click(sender As Object, e As EventArgs) Handles btnUpdate.Click
UpdateForm.tbRef.Text = Me.tbRef.Text
UpdateForm.Show()
End Sub
我的问题是:
代码生成正确的布局和正确的控件,如果只返回一个结果,按钮就可以正常工作。如果创建了多个按钮,则所有按钮都引用最后生成的 Textbox 的内容。我在互联网上得到的唯一答案是我必须以某种方式使用 Ctype/DirectCast 将每个文本框的内容转换为使用它生成的按钮,但我找不到任何关于如何在这种情况下使用这些运算符的教程。任何帮助将不胜感激。