1

C# で Windows フォーム アプリケーションを作成しており、2 つのフォームがあります。ユーザーがグラフを操作するメイン フォームと、系列の外観オプション、軸オプション、ラベル オプションなどを含む別のフォーム。このフォームは、[ツール] ボタンを押すと表示されます。そこから、ユーザーが必要に応じてグラフを変更できるようにするつもりです。私の質問は、最初のフォームがロードまたは初期化されたときに2番目のフォームに入力する方が速い/良いですか、それとも「ツール」ボタンが押されたときにそれを行うべきですか。

4

4 に答える 4

4

この質問は、イーガー ロード (できるだけ早くデータをロードする) とレイジー ロード (必要なときにデータをロードする) の違いに関するものです。ここでの決定は、ユーザー エクスペリエンスに委ねるべきだと思います。データの読み込みに少し時間がかかり、ユーザーがプロパティ ウィンドウに頻繁にアクセスする場合は、熱心な読み込みをお勧めします。一方、読み込みが速い場合、またはこれがめったに行われない機能である場合は、遅延読み込みをお勧めします。そのため、ユーザーが何を期待しているかを把握する必要があります。ただし、画面のデータがすばやく読み込まれる場合は、いつ何を読み込むかはほとんど問題になりません。

また、特に頻繁に使用する場合は、プロパティ ウィンドウを再考することをお勧めします。この種のユーザー インターフェイスのパラダイムは、作業の大部分が行われる同じアプリケーション ウィンドウにPropertyGridを埋め込むことです。Visual Studio について考えてみてください。非常に多くの例があり、ほぼすべての IDE スタイルのアプリケーションについて考えてみてください。「フローティング」プロパティ ウィンドウを持たない傾向があります。パラダイムは、IDE で現在選択されているオブジェクトのプロパティを表示して、すばやく簡単に変更できるようにすることです。別のツール | オプション パラダイムは、アプリケーションが管理する特定のオブジェクトではなく、変更される頻度がはるかに低く、アプリケーション全体に結び付けられているアプリケーション レベルの設定に適しています。繰り返しますが、Visual Studio は良い例です。

于 2013-02-25T16:12:38.597 に答える
2

私の意見では、適切なボタンをクリックしたときに、2 番目のフォームの新しいインスタンスを作成する方がよいでしょう。必要なときにのみフォームにメモリを割り当てる必要があると思います。

ただし、フォームの読み込みが速い場合は、ボタンがクリックされるまで 2 番目のフォームを非表示にする限り、ユーザーの観点からは問題になりません。

于 2013-02-25T16:12:45.927 に答える
0

起動時に複数のフォームを作成することは、あまりスケーラブルではありません。フォームが 20 ~ 30 あると、ロードに時間がかかります。必要に応じて作成します。

于 2013-02-25T16:15:17.080 に答える
-1
// button event in your first form (Form1)
private void firstButton_Click(object sender, EventArgs e)
{
    Form2 form2 = new Form2();
    form2.ShowDialog(); // Shows Form2
}

ボタンがまったく必要ない場合があるため、使用する必要があります。

于 2013-02-25T16:14:06.367 に答える