sender 및 eventArgs는 무엇을 의미 / 참조합니까? 그것들을 어떻게 사용할 수 있습니까 (아래 시나리오의 경우)?
대본:
삭제 기능이있는 사용자 지정 컨트롤을 만들려고하는데 동일한 사용자 지정 컨트롤이 많이 포함 된 페이지에서 클릭 한 컨트롤을 삭제할 수 있기를 원합니다.
답변:
보낸 사람은 작업이 수행되는 컨트롤입니다 (예 : OnClick, 버튼).
EventArgs는이 이벤트의 구현자가 유용하다고 생각할 수있는 인수입니다. OnClick을 사용하면 좋은 것이 없지만 GridView 'SelectedIndexChanged'와 같은 일부 이벤트에서는 새 인덱스 또는 기타 유용한 데이터가 포함됩니다.
Chris가 말하는 것은 다음과 같이 할 수 있다는 것입니다.
protected void someButton_Click (object sender, EventArgs ea)
{
Button someButton = sender as Button;
if(someButton != null)
{
someButton.Text = "I was clicked!";
}
}
보낸 사람을 사용자 지정 컨트롤 유형으로 수동 캐스팅 한 다음이를 사용하여 삭제하거나 비활성화합니다. 예를 들면 다음과 같습니다.
private void myCustomControl_Click(object sender, EventArgs e)
{
((MyCustomControl)sender).DoWhatever();
}
'보낸 사람'은 작업 된 (예 : 클릭 된) 개체입니다.
이벤트 인수는 더 복잡한 컨트롤 (예 : 트 리뷰)에 대해 서브 클래 싱되므로 이벤트에 대한 자세한 정보 (예 : 정확히 클릭 한 위치)를 알 수 있습니다.
'보낸 사람'은 일부 제어에 대해 수행하는 작업이있는 개체라고합니다.
'이벤트'는 일부 사용자가 수행하는 동작과 ID가있는 제어에 대한 정보를 가지고 있습니다.
참고로, sender
그리고 e
ASP.NET 또는 C #을 특정하지 않습니다. 이벤트 (C # 프로그래밍 가이드) 및 Visual Basic의 이벤트를 참조하세요 .