2017-03-31 25 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屬性,您可以根據需要查看它。

相關問題