你好我试图在面板显示期间改变这个radiobutton,但事实并非如此。无论选择顺序如何,我都希望它能够改变,但我遇到了一些困难。我知道这很容易解决,但如果有人可以提供帮助,我会非常感激。
Public Sub RadioButton()
If RadioButton1.Checked Then
Panel2.Visible = True
End If
If RadioButton2.Checked Then
Panel3.Visible = True
End If
If RadioButton3.Checked Then
Panel4.Visible = True
End If
If RadioButton4.Checked Then
Panel5.Visible = True
End If
End Sub
答案 0 :(得分:3)
我猜你要切换面板'基于选择的单选按钮的可见性。问题是你只能使这些面板可见但从不可见(即当一个面板变得可见,其他面板不可见)。将您的代码更改为:
Panel2.Visible = RadioButton1.Checked
Panel3.Visible = RadioButton2.Checked
Panel4.Visible = RadioButton3.Checked
Panel5.Visible = RadioButton4.Checked
答案 1 :(得分:1)
这听起来几乎就像你的面板层叠在一起 - 首先要检查的是,没有一个面板是另一个面板的子面板没有任何其他面板的子面板?如果您在窗体设计器中使用拖放移动面板,则可以非常轻松地进行此操作。
从Visual Studio视图菜单中,单击视图>其他Windows>文档大纲
这将打开一个Visual Studio选项卡,显示表单上的所有控件。看看Panel控件。如果有任何低于另一个并且缩进 - 像这样: -
Panel5是Panel2的孩子。要更正此问题,请将Panel5拖到Form1下方。或者 - 在选项卡的顶部。你可以看到左,右,上和下箭头。单击缩进面板,然后单击向左箭头。
对任何其他缩进面板执行此操作。
下一步 - 你编码。如果你的面板不在彼此的顶部,它应该工作正常,但如果它们在彼此的顶部,那么你可能还需要将面板放在堆的前面 -
Panel2.BringToFront
希望这可以解决问题。
答案 2 :(得分:1)
你甚至处理RadioButtons'事件
您可以使用CheckedChanged
事件:
Private Sub RadioButtons_CheckedChanged(sender As Object, e As System.EventArgs) Handles RadioButton1.CheckedChanged, RadioButton2.CheckedChanged, RadioButton3.CheckedChanged, RadioButton4.CheckedChanged
Panel2.Visible = RadioButton1.Checked
Panel3.Visible = RadioButton2.Checked
Panel4.Visible = RadioButton3.Checked
Panel5.Visible = RadioButton4.Checked
End Sub