0

データの入力、データの取得、またはデータの検索に使用される多くのフォームの1つをロードするwinformsクライアントサーバーアプリケーションに取り組んでいます。画面の左側にボタンを配置して、右側に読み込まれるフォームを選択し、上部に通常の新規、開く、削除などのボタンを配置したいと考えています。

私は、ユーザーが使用したいアプリケーションを選択できるようにする子ウィンドウをポップアップする MDI フォームを作成することから、これに取り組み始めました。それを選択すると、右側に適切なフォームが読み込まれ、左側のボタンのテキストと機能が更新されます。パネルを使用して、フォームをボタン フォーム (ナビゲーターと呼びます) とアプリケーション フォームにロードしていました。右側のフォームが変更されたときに、イベントを使用してさまざまなボタン フォームを変更する必要がありました。私の友人は、私がおそらく間違った方法でこれを行っていたと言っていました。彼は、私のために既にそれを行っている、より優れた設計パターン、方法論、または制御がおそらくあると言いました。

このようなものをウェブで検索する方法さえ知りません。

誰かがこれについて私に指示を与えることができますか? 正しい方向に向けられていれば、調査を行うことができます。たぶん、これらすべてをすでに実行しているコントロールがありますか? ありがとうございました。

4

2 に答える 2

0

フォームを選択するための左側のツールバーは良いパターンだと思いますが、折りたたみ可能 (非表示) にして、ユーザーがデスクトップ スペースをすべて使用できるようにします。

MDIに関しては、個人的には好きではありません。少し時代遅れで雑然としているためです。しかし、ここでも形状と機能のバランスを探してください。

上部のツールバーについては、ロジックを簡単にプログラムできるように、各フォームの一部にします。それらをマスターフォームに配置するのは、不必要な複雑さです。

あなたが見ることができる推奨事項として、Designing Web Interfacesは、Webに焦点を当てている場合でも、ユーザーの操作にいくつかの指針を与えることができます。

詳細については、 UI パターンユーザー インタラクション デザインを検索してください。

于 2013-10-23T15:09:38.027 に答える
0

同様のパターンを使用します。オブジェクトとタスクのメニューを持つ MDI 親。各オブジェクト/タスクの MDI 子フォーム (約 30)。3 つのグループの左の「ナビゲーション」ボタン: 1:1 (l 関連オブジェクトの呼び出し)、1:N (関連オブジェクトのリストの表示 - 検査、設備など)、N:N:X (その他の複雑な関係またはタスク) . 本文には、データをグループ化するためのタブ コントロールがあります。少なくとも 1 つのタブは、1:N リストに再利用される datagridview です。

左ナビゲーション ボタン セットは、管理されているオブジェクトに依存します。ボタンは動的に追加しますが、ほとんどの場合、ボタンはハードコードされています。ツールボックスを使用して子フォームにボタンを配置することはありません。各ボタン セットは Panel にあります。最初からやり直す場合は、おそらく FlowPanel を使用します。

より複雑なオブジェクトの 1 つに "モデル" フォームを作成し、すべてのデータ バインディング ロジックを作成してから、そのフォームを他のオブジェクトの基礎として使用しました。Visual Studio/VB.Net が提供する継承は使用しませんでした。

独自の制御データの「バインディング」を行います。ADO.Net と SQL Server を使用しています。子フォームは 1 つのレコードのみを表示し、ウィザードで生成されたフォームに見られる典型的なレコード ナビゲーションをサポートしていません。例:申請、建設の権限、許可 - そして検査、更新など。すべて 1 つの施設に関連しています。(私たちは規制機関です)

多くのビジネス ロジックが VB6 で開発されたため、VB.Net を使用します。私は今日でも C# よりも VB.Net を使用しています。ビジネス ロジックとより保守しやすい IMO に使用する方がはるかに簡単です。

考慮すべき 1 つの問題 - WinForms (および VB.Net) の長いナイフを持っている人もいます。多くの人は、実行中のビジネスに集中できるようにする WinForms の単純さ (柔軟性は限られていますが) を評価できません。私は WPF を見続けていますが、WPF が提供するすべての UI 機能の有用性を単純に理解できません。WPF の支持者は MVVM を推進しますが、これは小規模な開発環境や運用環境 (LAN でデスクトップを使用する 20 人のユーザー) には必要のない複雑さです。WPF は、横方向のナビゲーションにはつながりません。

于 2013-10-23T16:37:17.610 に答える