- 題名: Point配列をプロパティグリッドに表示する場合
- 日時: 2012/03/01 13:27:27
- ID: 30017
- この記事の返信元:
- (なし)
- この記事への返信:
- [30019] Re[1]: Point配列をプロパティグリッドに表示する場合2012/03/01 15:06:32
- ツリーを表示
■No30019に返信(Miraさんの記事)
> 動作確認してませんがプロパティの前に下記を追加してみてください
> <TypeConverterAttribute(GetType(System.Drawing.PointConverter))>
試してみましたが、プロパティグリッド内の表示がPoint配列ではなく
Point型に変換されて表示されるため、プロパティグリッド内の表示も
正常ではなくなりました。
Point配列をPoint型にコンバートすることになるので、当然だとは思いますが・・・
TypeConverter指定前の表示
- Point[]配列
- [0] 0, 0
X 0
Y 0
- [1] 10, 10
X 10
Y 10
TypeConverter指定後の表示
- System.Drawing.Point[]
X オブジェクトがターゲットの型と一致しません。
Y オブジェクトがターゲットの型と一致しません。
前の投稿だと、分かりにくかったかもしれませんが、
プロパティグリッドの表示は正しいんです。
プロパティグリッドから、ボタンを押した時の編集画面(たぶんSystem.ComponentModel.Design.ArrayEditor)
の表示が、今回書いたTypeConverter指定後の表示と同じような表示になってしまうので
正常に表示できるようにするか、もしくは編集画面を表示できないようにしたいのです。
分類:[.NET]
ユーザコントロールに Public Property Points() As Point() Get Return _Points End Get Set(ByVal value As Point()) _Points = value End Set End Property といったプロパティを作成しました。 このコントロールをフォームに追加し、プロパティグリッド上で見た場合 Point[]配列 と表示され、[...]ボタンにて編集画面が表示されるのですが、 この編集画面のプロパティグリッドのXとYが 「オブジェクトがターゲットの型と一致しません」 と表示され、編集することができません。 プロパティグリッドでは項目の展開もでき、編集もできます。 [...]を押したときに表示される画面にて編集できるようにする もしくはプロパティグリッドに[...]ボタンを表示しないようにする (この時、+シンボルにて展開でき、編集できる)にはどうすれば よろしいでしょうか?