HOW TO:建立簡單的事件處理常式
更新:2007 年 11 月
在 Windows Presentation Foundation (WPF) Designer for Visual Studio 中建立事件處理常式的步驟與 Windows Form 設計工具稍微不同。從 Visual Studio 2008 SP1 開始,您可以使用 [屬性] 視窗中的 [事件] 按鈕。下列程序描述在 WPF 設計工具中建立簡單事件處理常式的幾種不同方式。
若要建立預設事件處理常式
在 [設計] 檢視中,按兩下要建立事件處理常式的控制項。
該控制項的預設處理常式便會建立。程式碼後置 (Code-Behind) 檔案會開啟,而且游標會停在預設事件處理常式中。
若要在 XAML 中建立事件處理常式
在 [XAML] 檢視中,找出您要建立事件處理常式的項目。這個程序將使用 Button 控制項。
在項目的開始標記中,開始輸入要處理的事件名稱,例如 Click 或 MouseEnter 事件。
在開始輸入事件名稱時,會出現 IntelliSense 清單列出可用的事件,如下圖所示。
在屬性值中,輸入事件處理常式的名稱。在出現的 IntelliSense 清單中,您可以按兩下 [<新事件處理常式>],使用預設事件處理常式名稱。
注意事項: 如果只是選取 [<新事件處理常式>] (而沒有按兩下),會出現工具提示提供關於要建立的方法的其他資訊。
下列 XAML 會指定 Button 控制項的 Click 事件處理常式和 MouseEnter 事件處理常式。
<Window x:Class="WPFApplication.Window1" xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" Title="Window1" Height="300" Width="300"> <Grid> <Button Height="23" HorizontalAlignment="Left" Margin="33,38,0,0" Name="Button1" VerticalAlignment="Top" Width="75" Click="button1_Click" MouseEnter="button1_MouseEnter"> Button</Button> </Grid> </Window>
在 [XAML] 檢視中,以滑鼠右鍵按一下事件或事件處理常式名稱,然後選取 [巡覽至事件處理常式] 選項,如下圖所示。
程式碼後置檔案會開啟,而且游標會停在選取的事件處理常式中。下列程式碼顯示範例事件處理常式。
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) End Sub Private Sub Button1_MouseEnter(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseEventArgs) End Sub
private void button1_Click(object sender, RoutedEventArgs e) { } private void button1_MouseEnter(object sender, MouseEventArgs e) { }
若要使用程式碼編輯器下拉式清單建立事件處理常式 (僅限 Visual Basic)
在 [程式碼編輯器] 中,開啟 [類別名稱] 下拉式清單。
選取要建立事件處理常式的控制項或型別。
開啟 [方法名稱] 下拉式清單。
選取要建立事件處理常式的事件。
事件處理常式便會建立,而且游標會停在事件處理常式中。
若要使用事件按鈕建立事件處理常式
在 [設計] 檢視中,選取您要建立事件處理常式的控制項。
在 [屬性] 視窗的頂端,按一下 [事件] 按鈕。
控制項的事件隨即都列出,其中已選取預設事件。
注意事項: 如果沒有看到 [事件] 按鈕,請確認您使用的是 Visual Studio 2008 SP1 (含) 以後版本。
選取事件,並將游標放在值資料行中。
輸入事件處理常式名稱,或保留空白以使用預設名稱。
若要建立事件處理常式,請按 ENTER 或按兩下值資料行。
該控制項的事件處理常式隨即建立。程式碼後置檔案會開啟,而且游標會停在事件處理常式中。若是 Visual C# 專案,會將指定該事件處理常式的屬性加入至 XAML 檔。至於 Visual Basic 專案,則不會修改 XAML 檔。