3

我正在 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) 我目前的方法有解决方法吗?

谢谢。

4

1 回答 1

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
}

这将提高性能,并且添加和删除控件可能会对复杂的 gui 产生副作用,其中控件无法正确定位。

回答你:

a) 不多,但正如我所说,最好切换可见性。

b) 什么是工作空间?当然,您可以从任何窗口或表单中推进您的方法。但是,如果您将一种形式的组合框添加到另一种形式,则第一种形式的组合框将被删除。

c) 我的回答..

于 2013-02-02T06:03:59.703 回答