私はしばらくの間、フォーム継承を使用していましたが、以下のアプローチで多くの研究をしていません。フォームの代わりに新しいクラスを作成し、既存のフォームから継承し、必要なコントロールを必要に応じて保護されたものに変換するだけです。 Visual Studio 2010のデザイナーは魅力的な作品です。より多くの制御が必要な場合は、いつでもベースメソッドをオーバーライドできます。WinForms継承
次のように私は今、一般的なフォームを作成しています:シンプルな非デザイナーのクラスによって継承されたこのような
partial class EntityCollectionEditor <T> : Form where T : ISomeInterface <T>
フォームは、次のエラー与える:ので、設計者は、このファイルのため表示できませんでした
をその中のどのクラスも設計することはできません。設計者はファイル内の次のクラスを検査しました。XYZ。基本クラスEntityCollectionEditorをロードできませんでした。アセンブリが参照され、すべてのプロジェクトが構築されていることを確認します。
すばらしい解決策がありますが、自分自身を教育するための優れたリソース/記事も探しています。
このクラスから継承することはできず、継承されたフォームクラスでデザイナを使用することはできません。デザイナーは基本クラスのインスタンスを作成できる必要があり、Tタイプのパラメータを提供することはできません。 –
このようにしてみましょう。基本形式には視覚的要素がありません。実行時にすべてを作成します。私は、しかし、それに1つのボタンが含まれていた。私がしなければならないのは、代わりに単純なクラスを使用し、フォームから継承して一般的にすることです。 VSはそこからバッキングリソースファイルを正しく生成しているようです。 –