隐藏所有usercontrol并仅显示一个usercontrol c#

隐藏所有usercontrol并仅显示一个usercontrol c#,c#,winforms,refactoring,C#,Winforms,Refactoring,我正在尝试使用Guna.UI框架在Winforms中编写一些UI代码。但在为多控件应用Hide()和Show()函数时,我很难在void()函数中为控件分配这么多的赋值。如何最小化代码并将其重构为适当的结构 下面是我的代码中的示例: private void gunaButton4_Click(object sender, EventArgs e) { if (comboboxvivo.Text.Equals("Vivo V11 Pro")) V11Pro();

我正在尝试使用Guna.UI框架在Winforms中编写一些UI代码。但在为多控件应用Hide()和Show()函数时,我很难在void()函数中为控件分配这么多的赋值。如何最小化代码并将其重构为适当的结构

下面是我的代码中的示例:

 private void gunaButton4_Click(object sender, EventArgs e)
    {
        if (comboboxvivo.Text.Equals("Vivo V11 Pro")) V11Pro();

    }
    void V11Pro()
    {
        v11Pro1.Show();
        v11Pro1.BringToFront();
        testpointblank1.Hide();
        //vivohide//
        v91.Hide();
        v7Plus1.Hide();
        v71.Hide();
        y93Y951.Hide();
        y911.Hide();
        x231.Hide();
        //oppohide//
        a831.Hide();
        f91.Hide();
        f71.Hide();
        f51.Hide();
        rmX18311.Hide();
        rmX18311.Hide();
        //xiaomihide//
        redmi3x1.Hide();
        redmi5a1.Hide();
    }

我不知道GunaUI是什么(令人印象深刻的是,有些东西没有StackOverflow标签)。但是,假设所有这些控件都继承自某个公共基类,例如
Control
,则可以执行以下操作:

var controls = new List<Control>
{
    button1, button2, button3,    //etc.
};
controls.ForEach(c => c.Hide());
var控制=新列表
{
按钮1、按钮2、按钮3、//等。
};
controls.ForEach(c=>c.Hide());

没有太多的输入,但更容易维护。

请澄清您的问题到底是什么对不起,兄弟,但我的问题是如何使我的代码变得更小有很多隐藏();代码对不起我的帖子我是新手把它们放在一个数组或列表中,从那里隐藏所有东西,可能只显示一个?这是什么UI框架?将要隐藏的控件分组到某种面板中,然后隐藏面板可能是一种更清晰、更灵活的方法,尽管没有提供控件的结构。@SamiKuhmonen是的,先生我使用多用户控件