2

コレクション プロパティが Winforms PropertyGrid に表示される方法を変更しようとしています。

持つ代わりに

MyList | (Collection) [...]

CollectionEditor を表示するには、ボタンを押す必要があります。List を ExpandableObjectConverter として展開しています。しかし、私はまだ[...]ボタンを取得しています。だから今、それはこのように見えます。

[+] MyList | (2 Items) [...]
    Item 1 | Value
    Item 2 | Value

最終的には、この [...] を [追加] ボタンに置​​き換えたいと思います。どこから始めればいいのかよくわかりません。私の理解が正しければ、CollectionEditor は [...] を押したときに表示されるウィンドウです。では、独自のボタンを削除および追加するためにオーバーライドする必要があるオブジェクトは何ですか。

ありがとう

4

1 に答える 1

6

から新しいクラスを継承し、CollectionEditorをオーバーライドしGetEditStyleて戻りNone、「...」ボタンが表示されないようにします。

Addまた残念ながら、標準のプロパティ グリッドを使用してボタンを追加することはできません。「...」、下矢印、ボタンなしから選択できます。

class CustomEditor : CollectionEditor
{
  public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
  {
    return UITypeEditorEditStyle.None;
  }
}

次の属性を使用して、この新しいエディターを適切に適用できます。

[EditorAttribute(typeof(CustomEditor), typeof(UITypeEditor))]
于 2012-12-14T00:51:45.227 に答える