"object sender" 및 "EventArgue" 매개 변수는 무엇을 사용합니까?
의 경우Page_Load
,Init
그리고 다른 페이지 이벤트, 이것들의 용도는 무엇입니까?(object sender, EventArgs e)
매개 변수?
예시가 더 도움이 될 것입니다.
EventArgs e
는 이벤트 데이터를 포함하는 e라는 매개 변수입니다. 자세한 내용은 EventArgs MSDN 페이지를 참조하십시오.
Object Sender
이벤트를 발생시킨 컨트롤/개체에 대한 참조를 포함하는 Sender라는 매개 변수입니다.
이벤트 Arg 클래스: 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 이벤트 핸들러가 실행됩니다."객체 발송인" 부분은 클릭된 버튼에 대한 참조가 됩니다.
이러한 두 매개 변수(또는 의 변형)는 관례에 따라 모든 이벤트와 함께 전송됩니다.
sender
이벤트를 발생시킨 객체e
의 예.EventArgs
많은 경우에서 상속되는 개체를 포함합니다.EventArgs
이벤트에 대한 추가 정보를 포함하고 있으며 이벤트를 코드로 처리하여 이벤트를 변경하는 기능을 제공하기도 합니다.
언급한 이벤트의 경우 두 매개 변수 모두 특별히 유용하지 않습니다.이벤트를 제기하는 페이지는 한 페이지에 불과하며,EventArgs
이다Empty
그 사건에 대한 더 이상의 정보가 없기 때문입니다.
두 매개 변수를 별도로 살펴보면 유용한 몇 가지 예가 있습니다.
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;
}
}
언급URL : https://stackoverflow.com/questions/14479143/what-is-the-use-of-object-sender-and-eventargs-e-parameters
'programing' 카테고리의 다른 글
열에 있는 다른 워크시트에 Excel 셀이 있는지 확인하고 다른 열의 내용을 반환합니다. (0) | 2023.06.29 |
---|---|
문자열 내부의 Oracle 자르기 공백 (0) | 2023.06.29 |
SQL Server(localdb)\v11.0 설명 (0) | 2023.06.29 |
Vue 2의 모든 탭에서 업데이트될 때 다양한 탭 간에 반응 상태가 동일하게(업데이트되지 않음) 유지되기를 원합니다. (0) | 2023.06.29 |
스프링 부트에서 콘솔 로깅을 비활성화하는 방법은 무엇입니까? (0) | 2023.06.29 |