やその他のページ イベントの場合、これらのパラメータは何に使用されます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: イベントを発生させたオブジェクトeEventArgs多くの場合、 から継承するオブジェクトを含むインスタンス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;
}
}