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 に答える