Visual Studio 2005 SP1 (というか.Net Framework 2.0 SP1)の不具合?
MicrosoftはWindows向けの開発ツールとしてVisual Studioというものを昔から提供している。ところで、.Net Framework 2.0コアコンポーネントの中にDataGridViewなるものがあり、現在そいつを使って開発を行っているのだが、Microsoft .Net Framework 2.0 無印だと色々と不具合がある。そいつを解消しようと .Net 2.0 SP1を当てたらさぁ大変。
現在のプログラムの構成(抜粋は以下の通り)。開発言語はVB.NET 2.0。
System.Windows.Forms.Form
↓派生
COMMON.Windows.Forms.BaseForm -(1)
↓派生
各業務画面
ここで、やむなき事情があり(1)でSystem.Windows.Forms.Form#CancelButtonをShadowsしているのだが、各業務画面をデザイン中にCancelButtonをどういじっても次に開くとNothingになっている(各業務画面.Designer.vbにもMe.CancelButton = Nothingなる行が追加されている)という問題が発生した。
VS2005SP1+.Net 2.0 SP2=発生
VS2005SP1+.Net 2.0 SP1=発生
VS2005無印+.Net 2.0 SP1=発生
VS2005SP1+.Net 2.0無印=しない
VS2005無印+.Net 2.0無印=しない
.Net 2.0 無印→SP1の何らかの修正のためにVS2005のデザインモードがShadowsされたプロパティをうまくハンドリングできていない(どうも各業務画面のCancelButtonプロパティをSystem.Windows.Forms.Form(現在編集中のフォームの親クラスの親クラス)のものを見に行っているような動作)様子。いたしかたなくVS2005SP1+.Net 2.0 無印 ランタイムでDataGridViewの不具合を回避しつつ開発、客先では.Net 2.0 SP1ランタイムで実行してもらう事に。Vista SP1で開発している人は.Net 2.0 無印が使えないため、細心の注意を払って開発して貰うしかなくなった。
なんとも解せん現象だなや。