我正在Visual Studio 2012上创建一个应用程序(c#/ Winforms)。 我想到的是图像所描绘的:
单击Button1时,组框内的内容将发生变化,与按钮2和按钮相同。 3。
我目前正在使用以下内容:
private void button2_Click(object sender, EventArgs e)
{
this.Controls.Remove(this.groupBox1);
this.Controls.Add(this.groupBox2);
}
我的问题是:
a)通过使用它,运行时性能是否会受到阻碍,因为所有控件都会同时处于活动状态(虽然是隐藏的)?
b)考虑我继续使用当前的方法,我可以创建一个新的工作区并在不同的窗口中构建每个组框吗?
c)我目前的方法是否有解决方法?
感谢。
答案 0 :(得分:3)
更好的只是:
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)我的回答..