質問

WinForms CRUD" like"を設計しています。看護師とソーシャルワーカーの大規模なグループがクライアント情報とやり取りするためのアプリ。

「可能性のある」必要があるさまざまな形式(約 30 っぽい)があります。特定のクライアントとやり取りし、「できる」特定の人のためにあるものから別のものにジャンプする必要があります。

ユーザーインターフェースの設計に苦労しています。ページ上で必要なことを行い、[次へ]をクリックする非常に単純な線形WEBForm CRUDのみを設計しました。

非直線のWINForm CRUDアプリで何が理にかなっていますか?

これらのタブにフォームが埋め込まれたタブのパスを開始しましたが、おそらく能力が不足しているため、プログラムは非常にかさばっています。ウィンドウが「隠されている」と簡単に混同される可能性のある非常にシンプルなユーザーがいるため、ストレートMDIを使用する方法がわかりません。

私は、アドバイス、洞察、または誰かが持っているかもしれない例を心から感謝します。特に、誰かが自分でWINForm CRUDアプリを作成しなければならなかった場合。

どのUIレイアウトが機能しましたか(または機能しませんでしたか)?

私の現在の外観の例はこちらです->

http://lh6.ggpht.com/_DqVwi_JXyS0/Sf8EI0ETYrI/AAAAAAAABhI/pmAhoz/z /MATRIXUIExample.JPG DevFiles から
役に立ちましたか?

解決

ここにはいくつかの受け入れられたパターンがあり、それらを生産的に組み合わせることができます:

  1. TabPages
  2. TreeView(Win Explorerフォルダ、 Visual Studioのツール|オプション)
  3. 折りたたみパネル(Outlook メール/カレンダー/連絡先)

折りたたみパネルは標準コントロールではありませんが、いくつかの実装が利用可能です( just 1つ

あなただけではありません。いくつかのインスピレーションについては、この SOの回答。

他のヒント

CRUDタイプのアプリで学んだ最も重要なことの1つは、ほぼすべてのボタンにホットキーがあり、タブの順序が適切に設定されていることを確認することです。

ほとんどの場合、データの入力/変更を行う場合、特に大量のデータを扱う場合は、キーボードから手を離して[送信/更新]ボタンにマウスを移動したくないでしょう。 。これらの2つのアイテムを順番に並べることで、アプリの生産性が大幅に向上します。

免責事項:どのくらいの期間かわからないのでCRUDを行っていますが、今は最初のwinformsアプリから始めています。

そのため、いくつかの複雑なアイデア:

現在のシステム(Centura / Guptaを使用して記述)では、MDIのようなアプローチを使用しています。 ユーザーが現在の作業を強制的に終了せずに新しいレコードで作業を開始できるようにすることが重要だと思います。したがって、開いているウィンドウのリストが常に表示され、さまざまなフォームをすばやく切り替えることができます。例:

alt text
(ソース: pingmbh.de
左下の開いているウィンドウのリスト。 また、このシステムにより、あるレコードを別のレコード内から開くことができます。顧客を開き、この顧客の注文を表示し、注文の1つをダブルクリックして開きます。

さて、winformsについて:いくつかの調査を行った後、MDIに反対し、代わりにSplitContainersを含むFormを使用しました。このコンテナパネルの1つには開いているウィンドウのリストが表示され、別のパネルには現在のフォームが表示されます。フォームをパネルに表示する方法を見つけられなかったため、フォームはユーザーコントロールとして認識されます。メインフォームは、開いているウィンドウを追跡し、ウィンドウリストに表示します。ユーザーがリスト内のウィンドウをクリックするか、プログラム内の別の場所から同じレコードを開くと、適切なパネルが前面に表示されます。進行中の作業の写真: alt text
(ソース: pingmbh.de
既存のレコードの選択をこれらのレコードの編集から分離することを検討してください。つまり、既存のレコードを何らかの種類のテーブル(グリッドビューなど)にフィルターおよび検索機能で表示し、ユーザーがこれらのレコードをダブルクリックして編集できるようにします。

スクリーンショットで、「挿入」ボタンがあることに気付きました。および「更新」。これは、新しいレコードを作成し、既存のレコードを保存するためですか?より良いアプローチは、ユーザーに「新規」を与えることだと思います。ボタンをクリックして、「保存」するフォームを開きます。および「キャンセル」ボタン。ユーザーは、新しいレコードまたは既存のレコードの編集を開始したかどうかを常に覚えているとは限りません。

選択画面は、「新しいレコード」に適した場所です。ボタン。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top