Share via


PropertyGrid で MultilineStringEditor を使用した場合、初回表示のみエディターの幅が異なる

こんにちは、Platform SDK (Windows SDK) サポートチームです。
.NET Framework 3.5 SP1 上において PropertyGrid コントロールを使用した場合に発生する問題についてご案内します。

現象

PropertyGrid コントロール上で文字列を扱うプロパティに対して MultilineStringEditor クラスを指定すると、対象プロパティが編集されるとき個別に編集フィールドを表示することができますが、以下に示すように初回表示と 2 回目以降の表示に違いがあります。

初回の表示:

初回の表示

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