嘿大家有人可以帮助我做一些代码在vb.net循环创建的标签,可以打开一个新的形式
我创建了一个循环,可以用我的OleDbDataReader生成标签 现在我想知道如果我可以让这些标签打开新的表格 ,我可以使用我的新形式中的数据标签文本创建! 这里是我的代码:
Dim cnn As New OleDbCommand(query, con)
Dim cmd As New OleDbDataAdapter(cnn)
Dim dt As New DataTable()
cmd.Fill(dt)
Dim reader As OleDbDataReader
reader = cnn.ExecuteReader()
Dim number As Integer = 0
Dim location As Integer = 0
While reader.Read()
Dim sensibleFont As New Font("Segoe UI", 15)
Dim lb As New Label()
lb.Name = "labb" + number.ToString
lb.Size = New System.Drawing.Size(350, 40)
lb.Location = New System.Drawing.Point(50, 15 + location)
lb.Text = dt.Rows(number)(0).ToString()
lb.ForeColor = Color.Black
lb.Font = sensibleFont
GroupBox1.Controls.Add(lb)
Dim lb2 As New Label()
lb2.Name = "labs" + number.ToString
lb2.Size = New System.Drawing.Size(280, 40)
lb2.Location = New System.Drawing.Point(10, 5 + location)
lb2.Text = dt.Rows(number)(2).ToString()
lb2.ForeColor = Color.Black
lb2.Font = sensibleFont
GroupBox2.Controls.Add(lb2)
location += 40
number += 1
End While
con.Close()
您的阅读器看起来没有必要,因为您填充DataTable,然后使用循环中的DataTable中的信息,而不是阅读器中的信息。循环访问DataTable的行。在代码中创建一个Click方法:'Private Sub LabelClicked(sender As Object,e As EventArgs)',然后使用AddHandler lb.Click,AddressOf LabelClicked'将新标签连接到click事件。这就是设计师在幕后做的事情。 – LarsTech