やその他のページ イベントの場合、これらのパラメータは何に使用されますPage_Load
か?Init
(object sender, EventArgs e)
例はより役に立ちます。
EventArgs e
は、イベント データを含む e というパラメーターです。詳細については、EventArgs MSDN ページを参照してください。
Object Sender
イベントを発生させたコントロール/オブジェクトへの参照を含む Sender というパラメーターです。
イベント引数クラス: http://msdn.microsoft.com/en-us/library/system.eventargs.aspx
例:
protected void btn_Click (object sender, EventArgs e){
Button btn = sender as Button;
btn.Text = "clicked!";
}
編集: ボタンがクリックされると、btn_Click イベント ハンドラーが起動されます。「オブジェクト送信者」部分は、クリックされたボタンへの参照になります
これら 2 つのパラメーター (またはその変形) は、慣例により、すべてのイベントと共に送信されます。
sender
: イベントを発生させたオブジェクトe
EventArgs
多くの場合、 から継承するオブジェクトを含むインスタンスEventArgs
。イベントに関する追加情報が含まれており、場合によっては、イベントを処理するコードが何らかの方法でイベントを変更する機能を提供します。あなたが言及したイベントの場合、どちらのパラメーターも特に役に立ちません。はイベントを発生させる唯一のページであり、イベントに関するこれ以上の情報はありませんEventArgs
。Empty
2 つのパラメーターを個別に見て、これらが役立つ例をいくつか示します。
sender
フォームに複数のボタンがあるとします。これらのボタンには、Tag
クリックするとどうなるかを説明する を含めることができます。Click
同じハンドラーですべてのイベントを処理できますsender
。
private void HandleButtonClick(object sender, EventArgs e)
{
Button btn = (Button)sender;
if(btn.Tag == "Hello")
MessageBox.Show("Hello")
else if(btn.Tag == "Goodbye")
Application.Exit();
// etc.
}
免責事項 : これは不自然な例です。それをしないでください!
e
一部のイベントはキャンセル可能です。彼らはCancelEventArgs
の代わりに送信しますEventArgs
。Cancel
このオブジェクトは、イベント引数に単純なブール プロパティを追加します。このイベントを処理するコードは、イベントをキャンセルできます。
private void HandleCancellableEvent(object sender, CancelEventArgs e)
{
if(/* some condition*/)
{
// Cancel this event
e.Cancel = true;
}
}