|
分類:[C#]
お世話になります。 現在FormAを継承元としたFormBを作成しています。 (ちなみに、FormAは各画面共通のボタン・ラジオボタン類を数個 配置してます。)
現在FormBをデザイナ上で開こうとすると、 「オブジェクト参照がオブジェクトインスタンスに設定されていません。」 のメッセージが出て開けませんでした。 (これはコンストラクタでNull参照例外が発生した認識でいます。)
エラー内容を見るとどうやらFormAのLoadイベント内で 発生しているようで、FormAのLoadイベント内を消したところ (正確にはコンストラクタで呼んでいるメソッド内に移動した。) 正しく表示されました。
ただエラーの発生した行では、ある制御クラスのプロパティを 使っているのですが、制御クラスはFormA上のフィールドで 定義時にnewしており、プロパティ自身で得られる値も制御クラス 内で確実に初期化しています。
C#ではフォームを開いた場合デザイン時でもコンストラクタが 実行されるのはなんとなく知っているのですが、フォームの Loadイベントも動くのでしょうか?
デザイン時のコンストラクタやイベントの動きが知りたいです。 また、フォームの継承もあまり好ましくない(?)様ですが、 後学の為に、あえてやっている部分もあります。 この辺りで注意すべき事などご教授頂けるとありがたいです。
環境はVS2005/C#/.net2.0です。 宜しくお願い致します。
|