2017-03-31 2 views
1

C#에서 이벤트 매개 변수가 어떤 역할을하는지 이해할 수 없습니다. CoffeeButton이라는 버튼이 있다고 가정하고 myFrame이라는 프레임을 사용하여 Coffee라는 다른 페이지로 이동합니다. 이 내 코드입니다 :C# 이벤트 매개 변수는 무엇을합니까?

private void CoffeButton_Click(object sender, RoutedEventArgs e) 
{ 
    MyFrame.Navigate(typeof(Coffee)); 
} 

object senderRoutedEventArgs e이 경우 무엇입니까?

예제가 좋을 것입니다.

+0

모든 매개 변수가 모든 메서드에서 수행하는 것과 동일한 작업으로, 호출 된 메서드에 입력 및 컨텍스트를 제공합니다. 위의 예에서 '보낸 사람'은 클릭 한 버튼에 대한 참조이고 'e'는 클릭 이벤트에 대한 컨텍스트입니다. – Igor

+0

때때로 어떤 사람이 이벤트를 보냈는지 알 필요가 있습니다. 예를 들어이 이벤트를 일으킨 상황을 알기 원합니다. ObservableCollection에는 컬렉션에 추가 된 항목과 삭제 된 항목을 알려주는 CollectionChanged가 있습니다. – FCin

+0

그래, 어디에서 메서드가 호출 되었습니까? –

답변

9

일반적으로 "보낸 사람"은 이벤트를 발생시킨 개체에 대한 참조입니다. 따라서, 예를 들어 둘 이상의 Button이 모두 동일한 button_Click 핸들러 함수에 연결되어 있으면 보낸 사람 객체는 클릭 한 실제 Button 객체에 대한 참조가됩니다.

일반적으로 두 번째 매개 변수로 전달되는 EventArgs 개체는 컨텍스트에 따라 여러 가지 용도로 사용됩니다. 일반적으로이 이벤트는 발생한 이벤트와 관련된 추가 정보를 전달하는 데 사용됩니다. 예를 들어,이 경우 RouteEventArgs 객체는 필요한 경우 볼 수있는 RoutedEvent 속성을 제공합니다.

관련 문제