C#でカスタムのユーザーコントロールを作成しましたが、コントロール用のカスタムTextプロパティを追加しました。しかし、私のText Propertyの値が変更されたときでも、私はそれをTextChanged
と呼んでいます。ここで UserControlのカスタムTextプロパティのカスタムTextChangedイベントハンドラ?
TextChanged
イベントハンドラを作成しましたが、私はに
Text
プロパティにリンクする方法がわからない見たよう
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace TestControls
{
public partial class Box: UserControl
{
public Box()
{
InitializeComponent();
}
[Bindable(true)]
[EditorBrowsable(EditorBrowsableState.Always)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
[Browsable(true)]
[Category("Appearance")]
public override string Text { get { return base.Text; } set { base.Text = value; this.Invalidate(); } }
[Browsable(true)]
public event EventHandler TextChanged;
}
}
'Text'の値が変更されたときにイベントが発生する場所にします。
私はWindowsフォームを使用していますが、私はWPFを使用していないので、WPFを必要とするものは何もしたくないことに注意してください。私がこの問題のために見つけたすべての解決策は、WPFと関係があります。または、文字列のイベントハンドラを作成しようとしていないため、私の問題を完全には解決できません。私は他の人がこれをどう管理しているか理解していませんが、どのようにして知りたいのですか。ありがとう。
あなたはちょうど私を手伝ったか分かりません。どうもありがとうございます。 –
'TextChanged'イベントを処理したいだけなら、何もする必要はありません。' UserControl'クラスは正しく動作する 'TextChanged'を持っています。しかし、 'Text'プロパティのようにブラウズすることはできません。ブラウズ可能にする場合は、カスタムイベントアクセサ(イベントプロパティ)を使用することもできます。 –