動的コントロールで作成した AddHandler を使用して、あるフォームから別のフォームに情報を渡す方法を見つけようとしています。
私は次のようなループを持っています
Dim I As Integer
For I = 0 To 10
Dim gbNew As New GroupBox()
Dim pbNew As New PictureBox()
Dim llbNew As New Label()
Dim tlbNew As New Label()
Dim olbNew As New Label()
Dim slbNew As New Label()
Dim wlbNew As New Label()
UserName = dt.Rows(I)("UserName").ToString()
Status = dt.Rows(I)("LastJobType").ToString()
JobType = dt.Rows(I)("LastJobType").ToString()
LLocation = dt.Rows(I)("LastLocation").ToString()
TimeIn = dt.Rows(I)("LogInTime")
TimeOut = dt.Rows(I)("LogOutTime")
FlowLayoutPanel1.Controls.Add(gbNew)
gbNew.Controls.Add(llbNew)
llbNew.Visible = True
llbNew.Text = LLocation
llbNew.Font = New Font(llbNew.Font.FontFamily, 6.5)
llbNew.Location = New System.Drawing.Point(3, 25)
llbNew.BorderStyle = BorderStyle.None
llbNew.TextAlign = ContentAlignment.MiddleLeft
llbNew.Size = New Size(80, 15)
gbNew.Size = New System.Drawing.Size(270, 80)
'gbNew.BackColor = System.Drawing.Color.Silver
gbNew.Visible = True
gbNew.Text = UserName & " " & I + 1
AddHandler gbNew.Click, AddressOf ShowForm
Next
イベントハンドラは、サブ ShowForm を起動します。
Private Sub ShowForm()
Details.Show()
End Sub
これにより、フォームがポップアップ表示されますが、動的に生成されたコントロールからループ外の静的コントロールに必要な情報を渡す方法がわかりません。
私はフォームで静的コントロールを使用していました:
label1.text = "something"
新しいフォームを開くと、 のようなものを使用して、それを新しいフォームに読み込むことができました
dim info as string = form1.label.text
。しかし、動的なので、label1.text はありません。代わりに、llbNew.Text
form2 から呼び出すことができないと思われる があります :(
form1 の動的コントロールから form2 に情報を渡すにはどうすればよいですか?
これを C# ではなく VB.NET に保管してください。VB.NET はほとんど理解していないため、知識がまったくない C# から脳を変換しようとすることは言うまでもありません。