複数の「スクリーン」を備えたWinformアプリを構築する適切な方法は何ですか


11

複数の「スクリーン」を持つWinformアプリを構築する適切な方法は何ですか?たとえば、小さなバックアッププログラム(主に笑い用)を作成しようとしていますが、コントロールとコンテナーをフォームにダンプしています。

パネルとグループボックスを使用して異なる画面を分離しています(例:パネルを使用して[設定]ウィンドウのすべてのコントロールを保持し、別のパネルを使用して設定済みのすべての現在のバックアップを表示しています)。まあ、私のform.csファイルは膨大な量のコードに膨れ上がり、何か間違ったことをしているように感じます。ファイルにはほとんど何も見つかりません。最初からやり直す準備ができています。このプロジェクトは、私にとってC#と.NETの知識を広げるためだけのものでした。そのため、新しいプロジェクトを開始することは大したことではありません。

回答:


10

UIの複雑さを制御する方法はいくつかあります。

  • 多数のフォームがある場合、遷移を管理する設計パターンを選択できます。たとえば、アプリケーションコントローラー、または金属に近い:状態です。
  • コントロールのグループを単一のコントロールに構成できます。winformsでは、ユーザーコントロールを使用します
  • フォームのコントロールの量ではなく、フォームのコードの量が複雑さの原因である場合は、標準のオブジェクト指向プログラミング手法を使用して、コードをオブジェクトに単純にカプセル化できます。まず、SOLIDの原則を理解することをお勧めします。
  • それ以外の場合、ユーザーインターフェイスを操作するパターンがあります。特に、懸念事項の分離が顕著であるため、コードの編成が容易になります。いくつかの一般的なものはMVCMVPMVVMです

説明から、カスタムユーザーコントロールを使用して、現在パネルを使用しているものを置き換えます。次に、それらのユーザーコントロールを、パネルがあったフォームに配置します。


4

Winformsの各フォームには、それ自身の仕事を処理する必要があります。設定用のフォーム、現在のバックアップを表示する別のフォームなどが必要です。

あなたが作成することができ、単一のフォーム複数のグループに固執したい場合はユーザーコントロールをと、SnOrfusはコードを分離するために、と述べました。それでも一部のクラスで大量のコードが発生する場合は、部分クラスを使用して、異なるコードを異なるファイルに分離できます。

部分クラスは良い選択肢のように思えるかもしれませんが、趣味のプロジェクトを構築しているので、私はあなたにそれをお勧めしているだけです。より大規模な、またはより複雑なプロジェクトでは、パターンを使用して適切なオブジェクトを適切なオブジェクトに委任する必要があります。また、MVVMなどのパターンを使用しやすいWPFなどの新しいテクノロジーに切り替えることもできます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.