如何在按钮单击时动态更改组框?

时间:2013-02-02 05:46:42

标签: c# winforms groupbox

我正在Visual Studio 2012上创建一个应用程序(c#/ Winforms)。 我想到的是图像所描绘的:enter image description here

单击Button1时,组框内的内容将发生变化,与按钮2和按钮相同。 3。

我目前正在使用以下内容:

private void button2_Click(object sender, EventArgs e)
{
    this.Controls.Remove(this.groupBox1);
    this.Controls.Add(this.groupBox2);
}

我的问题是:

a)通过使用它,运行时性能是否会受到阻碍,因为所有控件都会同时处于活动状态(虽然是隐藏的)?

b)考虑我继续使用当前的方法,我可以创建一个新的工作区并在不同的窗口中构建每个组框吗?

c)我目前的方法是否有解决方法?

感谢。

1 个答案:

答案 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)我的回答..