2017-11-11 8 views
0

TextChangedイベントとValidatingイベントの両方で呼び出すメソッドがあります。問題は、TextChangedのパラメータがタイプEventArgsであり、eパラメータがValidatingのタイプがCancelEventArgsであるという点です。異なる署名を必要とする2つのイベントの同じイベントハンドラ

私は明らかにこのような何かを行うことができます:

void TextBox_TextChanged(object sender, EventArgs e) => Method(); 
void TextBox_Validating(object sender, CancelEventArgs e) => Method(); 

が、同じイベントハンドラを持つように両方のイベントを作成するためのオプションがあるのだろうか。

+1

void MyHandlerName(オブジェクト送信者、EventArgs e)を使用します。 – Evk

+0

しかし、なぜそれをしたいですか?私は別のハンドラを持って、両方の共通コードを呼び出します。 – CodingYoshi

+0

@エヴァーク - ありがとうございます。私は試しましたが、 "Properties"パネルの "Events"タブでは、メソッドが表示されません。 – Sipo

答えて

2

EventArgsはCancelEventArgsのベースであるため、両方のイベントに対して(オブジェクト送信者、EventArgs e)を使用できます。プロパティウィンドウでは、基本クラスを使用するため、適切なイベント名が表示されない場合があります。手動で名前を書くことができます。

関連する問題