0

複数のタブ ページを持つ winforms タブ コントロールがあります。各タブ ページ コントロール (テキスト ボックス、ラジオ ボタンなど) 内では、グループ ボックスにグループ化されます。これらのグループ ボックスは上から下に配置されますが、場合によっては、一部のグループ ボックスを表示し、他のグループ ボックスを非表示にする必要があります。また、(シナリオによっては) 各グループ ボックス内のコントロールを表示したり、非表示にしたりする必要がある場合もあります。誰かがこれを行うための良いアプローチを知っているかどうか、もしあれば何らかのパターンを知りたいです。また、これを行うための一般的なソリューションを実装することもお勧めします。GUIの専門家がこれを行うための正しい方向に私を導くことができますか?

C# と dot NET Framework 4.0、WinForms を使用します。これはデスクトップ アプリケーションであり、Web ベースではありません。

4

2 に答える 2

0

私は通常、関連するコントロールを UserControls にグループ化し (これがいくつかのコントロールを 2 倍にすることを意味する場合でも)、必要に応じてそれらをフォームに追加またはフォームから削除しようとします。この例として、支払い方法があります。ユーザーが特定の支払い方法 (クレジット カード、現金、小切手など) を選択すると、正しい要素を含む UserControl がフォームのパネル内に表示されます。

この種のセットアップを管理するときに使用する適切なパターンはModel-View-Presenterです。この例では、おそらくすべての UserControls が IPaymentMethod ビュー インターフェイスを実装し、対応するモデルを更新する方法を提供します。

于 2013-01-16T02:15:47.323 に答える
0

クラスでシナリオを定義してから、シナリオを読み取り、シナリオに基づいて要素を配置することでレイアウトを管理する別のクラスを追加できます。どの程度具体的になりたいか、どのような行動を達成したいかによって異なるため、詳細は提供していません。ウィジェットをユーザー コントロール内に配置し、そのユーザー コントロールがレイアウト マネージャーと通信できるようにすることをお勧めします。Mediator パターンまたはそのバリエーションを使用して、ウィジェット間を調整できます。お役に立てれば。

于 2013-01-15T22:32:41.163 に答える