C#,VisualStudio,.net frameworkに感謝

インテリセンスのおかげでヘルプを確認する回数がだいぶ減っていると思う.こういう機能があると,自分でもきちんとコメントを書いておこうという気になる.

splitContainerのバグ

GotDotNet Japan:SplitContainer のバグについて
エラーメッセージでsplitterdistanceはpanel1MinSizeとpanel2MinSizeの間にしてくださいと出るのだが,設定値には問題ない.調べてみるとバグだったようだ.しかし,この記事2年前のものなのになぁ.VS2005のVista用のアップデートでは修正されてなかったのだろうか.

//コード化されるときに、プロパティが ABC 順でコード化されています。
//このため、Panel1MinSize や Panel2MinSize が、コンテナのSize よりも先に設定されます。
//Panel1MinSize の設定値チェックで、例外が発生します。

this.splitContainer1.Panel1MinSize = 200;
this.splitContainer1.Panel2MinSize = 200; ← ここで例外発生
this.splitContainer1.Size = new System.Drawing.Size(528, 333);
this.splitContainer1.SplitterDistance = 220;
//200+200=400で、Size の初期値150を超えるため。
//なぜ Panel1MinSize 単独では発生しないのか、謎。
//FDBK21950 を受けて、Panel1MinSize ではチェックしていないのなら、あまりにもお粗末な対応。。。

//↓このように、先に Size を設定すれば、例外は発生しない
this.splitContainer1.Size = new System.Drawing.Size(528, 333);
this.splitContainer1.Panel1MinSize = 200;
this.splitContainer1.Panel2MinSize = 200;
this.splitContainer1.SplitterDistance = 220;