2008-09-16 16 views
2

.NET PropertyGridコントロールを使用するWindowsアプリケーションがあります。プロパティの値フィールドに使用されるコントロールのタイプを変更することは可能ですか?.NET PropertyGridで使用されるコントロールの種類を変更するには

リッチテキストボックスを使用して、入力値のフォーマットを改善したいと考えています。 カスタムエディタクラスを作成せずにこれを行うことはできますか?

答えて

4

ユーザーがプロパティグリッド値を選択したときに独自のカスタム編集を追加するには、UITypeEditorから派生したクラスを実装する必要があります。次に、プロパティ領域の下に小さなポップアップウィンドウを表示するか、完全に吹き飛ばされたダイアログボックスを表示するかを選択できます。

既存の実装を再利用できるという点で優れています。だから、あなただけのこの操作を行う文字列を編集複数行能力...


     [Editor(typeof(MultilineStringEditor), typeof(UITypeEditor))] 
     public override string Text 
     { 
      get { return _string; } 
      set { _string = value; } 
     } 

、彼らはあなたのために提供別の素晴らしいものは、文字列の配列を編集する機能です...


     [Editor("System.Windows.Forms.Design.StringArrayEditor, 
     System.Design, Version=2.0.0.0, 
     Culture=neutral, 
     PublicKeyToken=b03f5f7f11d50a3a", 
     typeof(UITypeEditor))] 
     public string[] Lines 
     { 
      get { return _lines; } 
      set { _lines = value; } 
     } 
+0

感謝を追加します。それは完璧だった! typeof(UITypeEditor)の代わりに "System.Drawing.Design.UITypeEditor、System.Drawing、Version = 2.0.0.0、Culture = neutral、PublicKeyToken = b03f5f7f11d50a3a"を使用できます。 コンパイルエラー –

0

あなたが探しているのはカスタムタイプ記述子だと思います。 ちょっと読んでここから始めましょう:http://www.codeproject.com/KB/miscctrl/bending_property.aspx

私はあなたが望むコントロールを行うことはできませんが、その記事は私をpropertygridsから始めました。

1

PropertyGridが単純な編集ボックス、ドロップダウン矢印、または省略記号のコントロールを表示するかどうかを制御できます。

EditorAttributeを参照し、そこから続けます。私はどこかのサンプルを持っていました。私はそれを掘り起こそうとします。

関連する問題