C# Winforms布局:展开/折叠UI的部分

C# Winforms布局:展开/折叠UI的部分,c#,winforms,layout,C#,Winforms,Layout,第一件事:不可能使用WPF,因为它是一个插件(用于SolidWorks),而WPF的ElementHost会导致显示错误 我需要使ui元素相对。这意味着,如果我隐藏了一些元素,我希望下面的元素能够缩小差距 我试过使用锚和GrowthandShrink/autosize面板-运气不好 示例用户界面: [Button] [*] Checked RadioButton [TextField] [AnotherTextField] [ ] Unchecked RadioBut

第一件事:不可能使用WPF,因为它是一个插件(用于SolidWorks),而WPF的ElementHost会导致显示错误

我需要使ui元素相对。这意味着,如果我隐藏了一些元素,我希望下面的元素能够缩小差距

我试过使用锚和GrowthandShrink/autosize面板-运气不好

示例用户界面:

[Button]
[*] Checked RadioButton
       [TextField]
       [AnotherTextField]
[ ] Unchecked RadioButton
[Button]
更改选定的RadioButton后,第二个RadioButton和以下所有元素应闭合间隙,如下所示:

[Button]
[ ] Unchecked RadioButton
[*] Checked RadioButton
[Button]

您可以尝试放置尽可能多的面板,并将Dock设置为最高值。每个面板中都有一个控件。我在点击面板上尝试了简单的测试生成事件来隐藏它。下面的所有面板都将上升

您可以尝试放置尽可能多的面板,并将Dock设置为最高值。每个面板中都有一个控件。我在点击面板上尝试了简单的测试生成事件来隐藏它。下面的所有面板都将上升

这对于FlowLayoutPanel来说是微不足道的。将“流”属性设置为“自上而下”。添加一个单选按钮、两个文本框和另一个单选按钮。将文本框的边距属性设置为缩进(例如,左=20),将其可见属性设置为False

然后,您只需在单选按钮的Checked属性之后添加一小段代码即可使其可见属性:

    private void radioButton1_CheckedChanged(object sender, EventArgs e) {
        textBox1.Visible = textBox2.Visible = radioButton1.Checked;
    }

这对于FlowLayoutPanel来说是微不足道的。将“流”属性设置为“自上而下”。添加一个单选按钮、两个文本框和另一个单选按钮。将文本框的边距属性设置为缩进(例如,左=20),将其可见属性设置为False

然后,您只需在单选按钮的Checked属性之后添加一小段代码即可使其可见属性:

    private void radioButton1_CheckedChanged(object sender, EventArgs e) {
        textBox1.Visible = textBox2.Visible = radioButton1.Checked;
    }

这可能不适用…使用
树状视图如何
?这可能不适用…使用
树状视图如何