質問: ### 前提・実現したいこと C#のWindowsアプリケーションの処理速度向上 他の方が作成したアプリケーションのため、すべての処理を理解しているわけではないのですが、アプリケーションの起動が遅いためその改善をしたいと思っています。 MDIを使って複数のフォームをタブで画面を切り替えて使うアプリケーションなのですが、コントロールの数が多い画面だとそのフォームの表示がとても遅くなります。一番遅いと12秒ほどかかります。 最初は、まあ当たり前のことかと思っていたのですが。 コンストラクタ、Activatedイベント、など表示までの各ソースに時間計測を仕込んで原因の部分を探っていたら。 showメソッドを呼び出してからActivatedイベントが発生するまでの間で12秒ほどかかっていることがわかりました(Loadイベントは割り当ててないので起きないはずです)。 そこでshowメソッド呼出しからActivatedイベントの間に何が行われているのかを教えてもらえますでしょうか? ### 補足情報(言語/FW/ツール等のバージョンなど) C# Visual C# 2010 ExPress .NET 4.5
回答: Windows フォームのイベントの順序.aspx) ただ、これがわかってもパフォーマンスは多分改善できないと思うので、適当に当てずっぽで助言してみます。 コントロールのレイアウトを一時中断して、パフォーマンスを向上させる 大量の子を作っているならlayoutイベントの停止で改善できるかも・・・