私のアプリケーションへのメインインターフェイスは適度に大きいです。 Outlookのスケジュール制御を持っています。そして、およそ40の.NETベースコントロール。WinForms UIユーザーコントロール内にあるときにUIの読み込みが非常に遅くなります
これをすべてフォームに入れると、読み込みが高速になり、すべてが素晴らしいように見えます。
私は最近、ユーザーコントロールにすべてのこれらのコントロールを移動し、その後、反射によって、私はディスクからアセンブリをロードし、(コントロール)にキャストし、私のForm_Loadで私は、次の呼び出し:
this.Controls.Add(myUserCtrl);
すべてをユーザーコントロールに移すことで、2〜3秒のロード時間から15〜20秒のロード時間になりました。私はまだ同じ量のコントロールをロードしています。
誰でもコントロールをUserControlに移動すると、このような恐ろしい負荷のパフォーマンスが得られるのですか?
私は、サスペンド/レジュームレイアウト機能を呼び出すことを含め、すべてを試しました。
デバッガで一時停止すると、どこがハングしますか? – SLaks
@Slaks - 削除された投稿のあなたのコメントは正しいことが判明しました。私は理論をテストするためのアプリケーションを作成し、証拠はあなたのコメントをサポートします。ありがとうございました! – David
タイトルに「C#.NET WinForms」を入れないでください。それらをタグに残す。 –