2

実行時にアプリケーションで約720個のボタンまたはラベルを作成する必要があります。ここでの問題は、アプリを起動するとき、またはアプリを(再)表示するときに、ボタンが読み込まれていることを確認できることです。

どうすればそれを回避したり、高速化できますか?

4

5 に答える 5

3

最良の方法は、コントロールにボタンを入力する前にControl.SuspendLayoutメソッドを使用し、終了後にControl.ResumeLayoutを使用することです。

于 2013-03-04T14:37:56.317 に答える
2

コントロールをロードする前にレイアウトを一時停止し、後で再開してみてください。これにより、読み込みが高速化されます: SuspendLayout

役立つ読み物となる可能性のあるリンクは次のとおりです:(ウィンドウフォームアプリのパフォーマンスを改善するためのヒント)-

Winformsのパフォーマンス

于 2013-03-04T14:36:57.683 に答える
1

すべてのボタンを一度に必要とすることはほとんどありません。

UIを設計している場合は、タブに分割します。タブはUX論理グループを表します。

UIを設計していない場合は、コントロールを使用するのは適切なオプションではありません。画面に描画する他の何かを選択すると、はるかに高速になります。

于 2013-03-04T14:37:47.437 に答える
0

ここには、アプリケーションを高速化するためのヒントがいくつかあります。

http://devcomponents.com/blog/?p=361

そうは言っても、なぜ720個のボタンを正確にロードする必要があるのか​​という疑問が生じます。フォームで使用可能なコントロールの5%しか使用しない可能性が非常に高くなります。それらを減らすための良い方法を見つけてください。

于 2013-03-04T14:38:37.980 に答える
0

すべてのコントロールをロードするプロセスを「非表示」にする場合は、スプラッシュスクリーンを使用するだけで、ユーザーはアプリケーションがロードされていることを確認できますが、ロードが完了するまで実際のコンポーネントをすべて表示することはできません。

PS:すべてのボタンを1か所にまとめる必要がないので、これらのボタンをグループに分割することを検討してくださいm sure you don(タブに分割し、タブが押されたときにロードしますか?)よく考えてみてください。

于 2013-03-04T14:43:17.817 に答える