9

テキストボックスのテキストを設定するための文字列プロパティを備えたWindowsフォームユーザーコントロールがあります。この文字列複数行にすることができます。

textプロパティを持つ一部のコントロールでは、単一行のプロパティtextboxに強制的に入力する代わりに、複数行を入力できる小さなポップアップが表示されることに気付きました。(実際のところ、WindowsフォームのTextboxコントロールでは、Textプロパティでこれを使用できます。)

設計したプロパティのプロパティウィンドウでこの機能を有効にするにはどうすればよいですか?

以下は私のアプリの実際のコードではありませんが、そのようなプロパティがどのように定義されるかの例です

public string Instructions
{
   get
   {
      return TextBox1.Text;
   }
   set
   {
      TextBox1.Text = value;
   }
}
4

1 に答える 1

16

EditorAttributeで使用できますMultilineStringEditor

[EditorAttribute(typeof(MultilineStringEditor), 
                 typeof(System.Drawing.Design.UITypeEditor))]  
public string Instructions
{
   get
   {
      return TextBox1.Text;
   }
   set
   {
      TextBox1.Text = value;
   }
}

System.Designへの参照を追加してフルフレームワークを必要としないようにするには、次のように属性を記述することもできます。

[EditorAttribute(
    "System.ComponentModel.Design.MultilineStringEditor, System.Design",
    "System.Drawing.Design.UITypeEditor")]

フレームワークをクライアントプロファイルとフルプロファイルに分割することをやめたので、これはそれほど問題ではありません。

于 2009-11-10T23:16:00.223 に答える