1

デザイン ビューでフォームを開いたときに、フォームのコンストラクターが呼び出されていませんか? なぜだめですか?どういうわけかそれを強制的に呼び出すことはできますか? コンストラクターで MessageBox を表示してテストしたところ、フォームの基本型 (別のフォーム) のコンストラクターからの MessageBox のみが表示されます...

4

1 に答える 1

2

この動作は仕様によるものです。Visual Studioのフォームデザイナは、設計中のクラスをインスタンス化できません代わりに、その直接の親をインスタンス化します。この動作を変更する方法はありません。設計時にロジックを実行する必要がある場合は、そのロジックをカプセル化して継承する別の祖先を作成する必要があります。

これは、デザイナを使用できるようにするために、抽象クラスまたは汎用クラスからフォームを継承できない理由でもあります。

于 2010-12-28T13:33:09.893 に答える