C# 根据单选按钮选择显示一些控件

C# 根据单选按钮选择显示一些控件,c#,winforms,C#,Winforms,我正在做一个示例考试作业,我必须制作一个表格,根据不同的表格选择构建不同的形状 我有一个单选按钮组,有3个选项。根据所选选项,我必须显示下一组其他几个选项。正确的方法是在第一组中选择单选按钮时,将几个带有不同按钮的面板置于另一个面板上,使所有按钮都隐藏并只显示一个按钮,还是有更标准的方法?这似乎是处理这种情况的正确方法。 但是,我不建议将面板与表单设计器重叠。 您很可能无意中将一个面板作为另一个面板的子面板。 我更喜欢将面板放在不同的位置,只有一个在正确的位置。 在Form_Load事件或初始化

我正在做一个示例考试作业,我必须制作一个表格,根据不同的表格选择构建不同的形状


我有一个单选按钮组,有3个选项。根据所选选项,我必须显示下一组其他几个选项。正确的方法是在第一组中选择单选按钮时,将几个带有不同按钮的
面板
置于另一个面板上,使所有按钮都隐藏并只显示一个按钮,还是有更标准的方法?

这似乎是处理这种情况的正确方法。 但是,我不建议将面板与表单设计器重叠。 您很可能无意中将一个面板作为另一个面板的子面板。
我更喜欢将面板放在不同的位置,只有一个在正确的位置。
在Form_Load事件或初始化组件后,我将其他面板移动到第一个面板的位置上

比如说

public class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        panel2.Location = panel1.Location;
        .....
    }
}

与设计师重叠面板时要小心。您可能无意中使一个面板成为另一个面板的子面板。最好将面板放在不同的位置,只有一个在正确的位置。在Form_Load事件时或初始化组件后,将其他面板移动到第一个面板的位置上one@Steve是的,这应该是答案。让控件相互重叠对任何审查设计的人来说都是一件痛苦的事。在需要的地方创建初始面板,在窗体上其他位置关闭可见性的情况下创建其他面板,只需隐藏初始面板并将主题面板移动到其位置即可。我仍然会这样做:
panel1.Visible=false以防Z顺序被提升。好吧,这可以留在设计器中。每个面板都以Visible=False开头,除非您希望其中一个面板作为默认值可见。如果他与设计师一起设计面板,则不会。。。默认情况下,它们是可见的。我们也在说同样的话。只是我想,当他说把所有的面板都隐藏起来时,他是和设计师一起做的。非常感谢,做到了!