PropertyGrid で MultilineStringEditor を使用した場合、初回表示のみエディターの幅が異なる
こんにちは、Platform SDK (Windows SDK) サポートチームです。
.NET Framework 3.5 SP1 上において PropertyGrid コントロールを使用した場合に発生する問題についてご案内します。
現象
PropertyGrid コントロール上で文字列を扱うプロパティに対して MultilineStringEditor クラスを指定すると、対象プロパティが編集されるとき個別に編集フィールドを表示することができますが、以下に示すように初回表示と 2 回目以降の表示に違いがあります。
初回の表示:
2 回目以降の表示:
なお、.NET Framework 4 以降ではこの現象が発生せず、初回から 2 回目以降と同じ正しい位置に表示されます。
原因
この現象は、.NET Framework 3.5 SP1 の不具合により発生します。
.NET Framework 3.5 SP1 では、位置指定処理に考慮が不足した部分があるため、初回表示時のみ正しい位置に表示されません。
回避方法
この不具合は、.NET Framework 4 以降で修正されています。
お手数ですが、開発していただいているアプリケーションをビルドする際の「対象のフレームワーク」として .NET Framework 4 以降をご利用ください。
関連資料
PropertyGrid クラス
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.propertygrid.aspx
MultilineStringEditor クラス
https://msdn.microsoft.com/ja-jp/library/system.componentmodel.design.multilinestringeditor.aspx