可能性の重複:私が閲覧可能なよう
UserControl
のText
プロパティをマークするにはどうすればよい
Text property in a UserControl in C#UserControlのTextプロパティを公開するにはどうすればよいですか?
?
.NET UserControl
クラスはText
性質を持っています。
残念ながらUserControl
のText
プロパティがbrowsableではありません。
UserControl
で
//
//
// Returns:
// The text associated with this control.
[Bindable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
[Browsable(false)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public override string Text { get; set; }
私は、プロパティウィンドウで(すなわち、それは「ブラウズ可能」を作る)はText
プロパティを公開したい。私は盲目的にそれをブラウズ可能と宣言しようとしました:
[Browsable(true)]
public override string Text { get; set; }
これはプロパティウィンドウに表示されますが、現在は何もしません。
私は盲目的な機能を取り戻すためにbase.Text
を呼び出してみました:
[Browsable(true)]
public override string Text { get {return base.Text;} set { base.Text = value; this.Invalidate(); } }
となりましプロパティは設計時に機能しないが、プロパティの値がForm.Designer.cs
に永続化されていないと、それはInitalizeComponent
コードです。
はそれようにUserControl
Text
プロパティを公開する適切な方法は何ですか:
- が
- は、フォームデザイナで永続化されている機能
- ある[プロパティ]ウィンドウで閲覧可能なある
と、ボーナスとして:
- それはあなたが正しい軌道に乗っている
ない、非常に正確な複製:ちょうどそれが変化したときに
OnTextChanged
をオーバーライドし、見つけるために[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
を追加します。私の質問は、プロパティをブラウズ可能にするための* how *(すなわち、ランダムなキーボードマッシングとは対照的に、適切な方法)でした。もう1つの質問は、すでにブラウズ可能であるが、シリアル化されていないプロパティです。 –