2


1

フォーム上のすべてのコントロールを管理するのに役立つプロパティグリッドがあります。 これらのコントロールはデザイナータイプの人向けのものなので、ユーザーインターフェイスについてはそれほど心配していません…​ 誰かが複数のオブジェクトを選択するまで。

私はこれらの共通オブジェクトの "BottomDiameter"プロパティのためのUITypeEditorを持っています。 それは単位(メートル対フィート)を追跡し、そしてその場でいくつかの良いことをします。 ただし、誰かが2つまたは3つの共通オブジェクトを選択した場合、同じテキスト文字列に評価されても、BottomDiameterは空白になります。

それが空白である(私が思う)理由は、それが実際には3つの別々のobjDiameterオブジェクトだからです。 どうすれば他のすべてのプロパティと同じように振る舞い、同じ文字列に評価された場合に値を表示するようにプロパティグリッドを設定できますか。

更新:例えば、 "Anchor"プロパティは "Top、Right"のテキスト出力を持ちますが、プルダウンするとそれはオブジェクトです。 ただし、フォーム上で同じアンカー設定を持つ5つのオブジェクトを選択しても、プロパティグリッドに "Top、Right"という文字列が表示されます。

2 Answer


0


BottomDiameterプロパティに属しているDatatypeのTypeConvertorでは、例えばBottomDiameterVistorという名前のクラスのようなvistorを作成することができます。これは配列または選択されたBottomDiameterのリストを取ります。 プロパティの集約テキスト値を返すには、BottomDiameterVistorのto stringプロパティをオーバーライドします。


0


BottomDiameterが単純なプリミティブではなくクラスである場合は、このクラスのEqualsメソッドをオーバーライドする必要があります。