- 題名: UserControl の TextChaged イベント が発生しない
- 日時: 2011/01/25 1:42:03
- ID: 28064
- この記事の返信元:
- (なし)
- この記事への返信:
- [28065] Re[1]: UserControl の TextChaged イベント が発生しない2011/01/25 7:07:48
- ツリーを表示
> public コンストラクタ() > { > InitializeComponent(); > > this.TextChanged += new EventHandler(txtBox1_TextChanged); > this.TextChanged += new EventHandler(txtBox2_TextChanged); > } これは UserControl のコンストラクタですよね? この記述だと、「自分の Text が変更されたときに txtBox1_TextChanged と txtBox2_Changed を呼び出せ」という意味になってしまいます。 txtBox1 の Text 変更時に呼び出すのなら、txtBox1 の TextChanged イベントを 使わなくてはなりません。 あと、単純に TextChanged イベントを発生させるだけなら、 カスタムイベントなど不要で this.OnTextChanged を呼び出すだけで十分です。 txtBox1_TextChanged イベントハンドラの中で呼び出すことになります。
分類:[.NET]
UserControlに、TextBoxを2つ貼り付けています。
その各TextBoxでTextChangedが発生した場合に、UserControlのTextChangedを発生させ、Form側でイベントを書きたいと思っています。
[Browsable(true), EditorBrowsable(EditorBrowsableState.Always)]
new public event EventHandler TextChanged
{
add { base.TextChanged += value; }
remove { base.TextChanged -= value; }
}
public コンストラクタ()
{
InitializeComponent();
this.TextChanged += new EventHandler(txtBox1_TextChanged);
this.TextChanged += new EventHandler(txtBox2_TextChanged);
}
この状態でUserControlをFormに貼り付け、TextChangedイベントに
記述をしているのですが、どうも実行されていないようです。
何か問題ありますでしょうか?
よろしくお願いします。