隐藏所有usercontrol并仅显示一个usercontrol c#
我正在尝试使用Guna.UI框架在Winforms中编写一些UI代码。但在为多控件应用Hide()和Show()函数时,我很难在void()函数中为控件分配这么多的赋值。如何最小化代码并将其重构为适当的结构 下面是我的代码中的示例:隐藏所有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();
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是的,先生我使用多用户控件