2007年8月2日木曜日

ContextMenuStrip

DataGridViewの拡張で、行列それぞれのヘッダ用のメニューを用意していたんだよね。で、普通にプロパティで設定するのはセルにだけ適用されるように、と。

・・・したつもりだったw

DataGridViewのContextMenuStripプロパティをオーバーライドして、MyBaseのプロパティ側にはデザイナで設定したインスタンスがわたらないようにしたんだけど、ところが実行してみるとデザイナで設定されたメニューが普通に表示されてしまうのよ。プロパティのオーバーライドって問答無用で継承元も呼び出されるんだっけか?

対応としてはOnColumnAddedとOnRowsAddedをオーバーライドして、そのタイミングで行列用メニューを設定することに。そうすることで目的の動作は達成できたからいいんだけどね。

どうにも気になる。

0 件のコメント:

コメントを投稿