我正在 Visual Studio 2012 (c#/Winforms) 上创建一个应用程序。
图像所描绘的正是我所想的:
当单击 Button1 时,groupbox 中的内容会发生变化,与按钮 2 和 3 相同。
我目前正在使用以下内容:
private void button2_Click(object sender, EventArgs e)
{
this.Controls.Remove(this.groupBox1);
this.Controls.Add(this.groupBox2);
}
我的问题是:
a) 通过使用它,运行时性能是否会因为所有控件同时处于事件状态(尽管隐藏)而受到阻碍?
b) 考虑我继续使用当前的方法,我可以创建一个新的工作区并在不同的窗口中构建每个组框吗?
c) 我目前的方法有解决方法吗?
谢谢。
最佳答案
更好的是:
private void button2_Click(object sender, EventArgs e)
{
groupbox2.Visible = true;
groupbox1.Visible = !groupbox2.Visible;
}
同样
private void button1_Click(object sender, EventArgs e)
{
groupbox1.Visible = true;
groupbox2.Visible = !groupbox1.Visible;
groupbox3..... = !groupbox1.Visible; //etc
}
这将提高性能,并且添加和删除控件也会对复杂的 guis 产生副作用,其中控件无法正确定位。
回答你:
a) 不多,但正如我所说,最好切换可见性。
b) 什么是工作空间?当然,您可以从任何窗口或表单继续使用您的方法。但是,如果您将一个表单的分组框添加到另一个表单中,则第一个表单中的分组框将被删除。
c) 我的回答..
关于c# - 如何在单击按钮时动态更改分组框?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14659047/