2017-03-31 28 views
1

我不明白在C#中使用什么事件参数。比方说,我们有一个名为CoffeeButton的按钮,点击它可以将您带到另一个名为Coffee的页面,该页面使用名为myFrame的框架。 这是我的代码:C#事件参数有什么作用?

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

是什么object senderRoutedEventArgs e做在这种情况下?

例子会很棒!

+0

同样的事情在任何方法中做任何参数,为被调用的方法提供输入和上下文。在上面的例子中,'sender'是对点击按钮的引用,'e'是关于click事件的上下文。 – Igor

+0

有时您需要知道是谁发送了事件,或者例如您想知道导致此事件发生了什么,例如ObservableCollection有CollectionChanged,它告诉你哪些项目被添加到集合中,什么被删除 – FCin

+0

好的,但方法被调用? –

回答

9

通常情况下,“发件人”将是引用该事件的任何对象的引用。因此,例如,如果您有多个Button都连接到同一个button_Click处理函数中,则sender对象将是对实际Button对象单击的引用。

通常作为第二个参数传入的EventArgs对象根据上下文用于不同的事情。通常,它用于向您传递与发生的事件相关的附加信息。例如,在这种情况下,RouteEventArgs对象提供了一个RoutedEvent属性,您可以根据需要查看它。

相关问题