DocumentDesignerから継承するカスタムデザイナークラスを実装しました。 .NET Frameworkの標準のFormクラスはFormDocumentDesignerクラス(DocumentDesignerも継承しています)を使用しますが、このクラスは内部であるため、継承してその動作をカスタマイズすることはできませんリフレクタを使用してこのクラスのロジックをコピーし、それは私のカスタムデザイナークラス(私のフォームのデフォルトのデザイン時の動作が標準フォームに準拠するように)です。.NET Windowsフォームの問題のカスタムデザイナークラス
私のカスタムデザイナークラスのInitializeメソッドでは、設計時にフォームが開かれるたびにこのコントロールが表示され、編集可能になるように、ToolStripコントロールを挿入したいと考えています。問題は、DesignerStartコントロールの新しいインスタンスを作成してフォームのControlsコレクションに追加するたびに、デザイナーでフォームを閉じて再度開くたびに、Initializeメソッドが呼び出されることです。私は、既にコード内で直列化されたToolStripコントロールがあるかどうかをチェックし、別のコントロールを追加しないようにする方法を探しています。
これまで、IDesignerHostのLoadCompleteイベントを使用して、フォームのControlsコレクションにToolStripがあるかどうかを調べることができました。しかし、より良いアイデアをいただければ幸いです。
ありがとうございました! :-)