VB 如何动态创建一个组框来显示和分组数组中的单选按钮?

VB How do I dynamically create a groupbox to appear and group radiobuttons which are in an array?

我有一个 2 RadioButtons 的数组。一个显示文本 "TRUE",另一个显示 "FALSE",当用户 select 提出 TRUE/FALSE 风格的问题时它们会出现。

然而,当多个 TRUE/FALSE 风格的问题被 select 编辑时,RadioButtons 似乎都被链接起来,而不是在它们出现的成对中链接。例如如果 3 个问题的测验有 2 个 TRUE/FALSE 式问题,那么当您 select 一个问题的答案时,它会删除另一个 TRUE/FALSE 式问题的答案。

参考代码:(在 For 循环 (k) 和 select 案例中(当 selected 真假题时))

grpTrueFalse(k) = New GroupBox 
grpTrueFalse(k).Location = New Point((X - 10), (Y - 10))
grpTrueFalse(k).BackColor = Color.Transparent
grpTrueFalse(k).Visible = False
grpTrueFalse(k).Width = 250 : grpTrueFalse(k).Height = 50
frmQuizBuild.Controls.Add(grpTrueFalse(k))

rdbtrue(k) = New RadioButton : rdbtrue(k).Location = New Point((X + 120), Y)
rdbtrue(k).Text = "TRUE" : rdbtrue(k).Font = New Font("Arial", 15)
rdbtrue(k).BackColor = Color.Transparent
frmQuizBuild.Controls.Add(rdbtrue(k))

rdbfalse(k) = New RadioButton : rdbfalse(k).Location = New Point(X, Y)
rdbfalse(k).Text = "TRUE" : rdbfalse(k).Font = New Font("Arial", 15)
rdbfalse(k).BackColor = Color.Transparent
frmQuizBuild.Controls.Add(rdbfalse(k))

郑重声明,GroupBox 出现在 RadioButtons 之上,目前实际上没有做任何事情。

如果我的理解是正确的,您可以使用复选框。

如果不是这样 您是否尝试过向单选按钮添加事件处理程序? 所以:

 Addhandler.radioButton1_CheckedChanged , AddressOf EventHandler

EventHandler 是您正在使用的子或 class。

这有意义吗?

您的代码需要类似于:

Dim arrRButton(1) As RadioButton
arrRButton(0) = New RadioButton
arrRButton(1) = New RadioButton

Dim GroupBox1 As New GroupBox
 With GroupBox1
  .Controls.Add(rdbTrue(k))
  .Controls.Add(rdbFalse(k))
 End With

您也可以使用类似的 With 块来设置位置。 (例如;With arrRButton(0) 然后 .Location = x.Text = x 等)