(第1部分)我想为每个动态创建的标签页添加8个复选框。我试着跟踪,但它在最后一个选项卡上添加了一个复选框。如何向每个选项卡页添加8个chckboxes (比如10个选项卡页)
(第2部分)由于我们不知道创建的checkbox的索引,我无法理解如何链接带有"checkbox.checked“条件的分组框。任何帮助都将不胜感激。
Dim chkbx As New CheckBox
For j = 1 To 10 '#10 tab pages considered
Form4.TabControl1.TabPages.Add(j)
Form4.TabControl1.TabPages(j).Text = "Folder" & j + 1
Form4.TabControl1.TabPages(j).Controls.Add(chkbx)
chkbx.Text = "folder1name "
chkbx.Size = New Size(220, 17)
Next (j)谢谢
发布于 2012-09-27 11:07:20
在for循环中每次创建CheckBox实例
For j = 0 To 9 '#10 tab pages considered
Dim chkbx As New CheckBox
Form4.TabControl1.TabPages.Add(j)
Form4.TabControl1.TabPages(j).Text = "Folder" & j + 1
Form4.TabControl1.TabPages(j).Controls.Add(chkbx)
chkbx.Text = "FolderName"
chkbx.Size = New Size(220, 17)
chkbx.Name="A" & j <----- set unique name/key to each control
Next (j)并使用Controls.Find()方法获取control的引用。
Dim name = "A0"
Dim controlArray = Me.Controls.Find(name, True)
If controlArray.Length <> 0 Then
Dim chk As CheckBox = CType(controlArray(0), CheckBox)
If Not IsNothing(chk) Then
MsgBox(chk.Checked)
End If
End If发布于 2012-09-27 11:38:13
按照AVD所说的那样,在你的循环中创建复选框来分配你的动态TabPages。你需要预先创建你的combobox或者在另一个for循环中动态创建它们。然后,我将使用它们的Tag属性为每个CheckBox分配一个惟一的ID,并使用它来区分在通用CheckedChanged事件中更改了哪个ID。就像这样。
Dim index As Integer = 0
For j = 1 To 10 '#10 tab pages considered
Dim startLocation As Point = New Point(10, 10)
TabControl1.TabPages.Add(New TabPage)
TabControl1.TabPages(j).Text = "Folder" & j + 1
For x = 0 To 7
Dim chkbx As New CheckBox
TabControl1.TabPages(j).Controls.Add(chkbx)
chkbx.Tag = index
chkbx.Text = "FolderName"
chkbx.Location = startLocation
chkbx.Size = New Size(220, 17)
AddHandler chkbx.CheckedChanged, AddressOf CheckBox_CheckedChanged
startLocation.Y = startLocation.Y + 16
index += 1
Next
NextCheckChanged Event
Private Sub CheckBox_CheckedChanged(sender As System.Object, e As System.EventArgs)
Dim cb As CheckBox = CType(sender, CheckBox)
Select Case CInt(cb.Tag)
Case 0
Case 1
Case 2
Case 3
Case .... 'Up to how ever many index's that you have
Case Else
End Select
End Subhttps://stackoverflow.com/questions/12613472
复制相似问题