|
分類:[VB.NET/VB2005 以降]
お世話になります。
VS2010(VB)Premium Edition .Net4.0 でWinフォームの開発をしておりますが、妙な現象が起こってしまいました。
1.ベースフォームを作成し、パネルを配置する。 2.そのパネルの参照範囲レベル(Modifiers)を Protected にする。 3.当該ベースフォームを継承したフォームを作成する。 4.派生フォームから、ベースフォームに配置したパネルの上に、ボタンなどのコントロールを置く。 5.デザイナを開き直すと、「メソッド又は操作は実装されていません。」という内容の警告が出て デザイナが開かなくなる。(実行は可能)
こんな事が起きています。具体的には、ベースフォームに配置したパネルの、Panel1.Controls.Add(Button1) などの箇所で 警告が出ています。
色々と調べてみますと、派生クラスから基本クラスのメンバが見れていない(但しエラーにはならない)ような感じです。 私の認識が間違っていなければ、Protected で宣言したメンバは、それを継承したクラスでアクセスできたハズなんですが・・・。
で、解決策が分かったんですが、基本クラスに配置したコントロールの中で、派生クラスで操作する可能性のあるものは、 参照範囲レベル(Modifiers)を Public にすれば警告は出なくなりました。
全て Public にしないといけないなんて、おかしくないですか?
もしかするとオプション設定等で解決できるのかもしれません。 どなたかご存じでしたらご教授願います。
以上です。
|