2009-03-13 8 views
1

カスタムrichtextboxコントロールを使用してWinFormsアプリケーションを作成しました。Cで独自のイベントコードとカスタムイベントコードを呼び出す

私はプロジェクトでWindowsコントロール(dllファイル)として参照しています。 richtextboxの私のプログラムでは、内部に機能を書いていますが、textchangedイベントです。

textchangedイベントが発生した後にのみ、またはテキストがテキストボックスに追加された後は、別の方法で追加作業を行いたいとします。私はtext_changedeventで関数foo()を呼びたいと思うようなものです。 fooを呼び出すだけで、基礎となるtextchangedイベントの処理に失敗します。

C#の何らかの方法で、内部でtextchangedイベントを処理してから、テキスト変更イベントを調べることができますか?

私はmytextbox_textchanged

private void txt_code_TextChanged(object sender, EventArgs e) 
    { 
     //some code which will always be called whenever textchanged event occurs. 
    } 

用のコードを書かれているシナリオを考える今、私は私のプロジェクトでこのコントロールを継承するにはMyApp1を言います。ここでは、テキストボックス内に含まれる行の数を表示するラベルがあります。だから私は

private void my_inherited_txt_code_TextChanged(object sender, EventArgs e) 
    { 
     //code to update the label with my_inherited_txt_code.lines.length 
    } 

を記述しますので、私の問題は、私が最初にtxt_code_TextChangedイベントが呼ばれた後、my_inherited_txt_code_TextChanged内で書かれたコードを実行することを望んでいた、でした。これは書き込みによって解決されました

private void my_inherited_txt_code_TextChanged(object sender, EventArgs e) 
    { 
     base.OnTextChanged(e); 
     MessageBox.Show("foo"); 
    } 
+0

あなたは、問題を実証するためのいくつかのコードを投稿できますか?ありがとう。 – Matt

答えて

1

あなたが意味するか:

protected override void OnTextChanged(EventArgs e) 
{ 
    base.OnTextChanged(e); 
    // your code here... 
} 
+0

それは私が探していたものでした! –

0

なぜtext_changedイベントからメソッドを呼び出すことができないのですか? 何かエラーが発生したのか、それとも正確に起こりますか?

関連する問題