これは私の動的テキストボックスコントロールのコードですボタンクリックイベント。コードはうまくいきます。ボタンを3回クリックすると、3つのテキストボックスが生成されます。しかし、変数にテキストボックスの値を割り当てることはできません。ダイナミックに生成されるコントロールの名前はわかりません。私は3番目のテキストボックスに値を追加したい場合、それを行う方法?
Dim txtBx As TextBox
Static x As Integer
Static i As Integer
txtBx = New TextBox
txtBx.Location = New Point(10, 10 + x)
txtBx.Size = New Size(100, 20)
i = i + 1
x = x + 20
Me.Controls.Add(txtBx)
私はそれを行うことができます通常のテキストボックスを作成する場合は、
TextBox3.Text = "Some value"
しかし、私はダイナミックコントロールのためにこれを行うことを知っていません。
回答:
回答№1は1ここではList(Of Textbox)に参照を格納する例を示します:
Public Class Form1
Private tbList As New List(Of TextBox) Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim tb As TextBox Dim n As Integer n = tbList.Count + 1 tb = New TextBox With tb .Location = New Point(10, 10 + (n * 20)) .Name = "dynTB" & n.ToString .Size = New Size(100, 20) End With Me.tbList.Add(tb) Me.Controls.Add(tb) End Sub Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click " Testing: If Me.tbList.Count >= 3 Then Me.tbList(2).Text = "This is textbox 3" End Sub
</ pre>エンドクラス </ code>