控制項事件 (Windows Forms .NET)
控制項會提供當使用者與控制項互動或控制項的狀態變更時所引發的事件。 本文說明大部分控制項所共用的常見事件、使用者互動所引發的事件,以及特定控制項特有的事件。 如需 Windows Forms 中事件的相關詳細資訊,請參閱事件概觀和處理和引發事件。
如需如何新增或移除控制項事件處理常式的相關詳細資訊,請參閱如何處理事件。
常見事件
控制項可透過基底類別 Control 提供超過 60 個事件。 其中包括導致繪製控制項的 Paint 事件、與顯示視窗相關的事件 (例如 Resize 和 Layout 事件) 以及低階滑鼠和鍵盤事件。 一些低階事件會由 Control 合成為語意事件,例如 Click 和 DoubleClick。 大部分共用的事件都屬於以下這些類別:
- 滑鼠事件
- 鍵盤事件
- 屬性變更的事件
- 其他事件
滑鼠事件
考慮到 Windows Forms 是一種使用者介面 (UI) 技術,滑鼠輸入是使用者與 Windows Forms 應用程式互動的主要方式。 所有控制項都提供基本的滑鼠相關事件:
- MouseClick
- MouseDoubleClick
- MouseDown
- MouseEnter
- MouseHover
- MouseLeave
- MouseMove
- MouseUp
- MouseWheel
- Click
如需詳細資訊,請參閱使用滑鼠事件。
鍵盤事件
如果控制項回應使用者輸入 (例如 TextBox 或 Button 控制項),則會針對該控制項引發適當的輸入事件。 控制項必須聚焦才能接收鍵盤事件。 某些控制項 (例如 Label 控制項) 無法聚焦,也無法接收鍵盤事件。 以下是鍵盤事件的清單:
如需詳細資訊,請參閱使用鍵盤事件。
屬性變更的事件
對於具有變更事件的屬性,Windows Forms 會遵循 PropertyNameChanged 模式。 Windows Forms 所提供的資料繫結引擎可以辨識此模式並與其妥善地整合。 建立您自己的控制項時,請實作此模式。
此模式會實作以下規則 (以屬性 FirstName
為例):
- 為您的屬性命名為:
FirstName
。 - 使用模式
PropertyNameChanged
:FirstNameChanged
為該屬性建立事件。 - 使用模式
OnPropertyNameChanged
:OnFirstNameChanged
建立私人或受保護的方法。
如果 FirstName
屬性集修改了支援值,則會呼叫 OnFirstNameChanged
方法。 OnFirstNameChanged
方法會引發 FirstNameChanged
事件。
以下是控制項的一些常見屬性變更事件:
活動 | 描述 |
---|---|
BackColorChanged | 發生於 BackColor 屬性的值變更時。 |
BackgroundImageChanged | 發生於 BackgroundImage 屬性的值變更時。 |
BindingContextChanged | 發生於 BindingContext 屬性的值變更時。 |
DockChanged | 發生於 Dock 屬性的值變更時。 |
EnabledChanged | 發生於 Enabled 屬性值變更時。 |
FontChanged | 發生在 Font 屬性值變更時。 |
ForeColorChanged | 發生在 ForeColor 屬性值變更時。 |
LocationChanged | 發生於 Location 屬性值變更時。 |
SizeChanged | 發生在 Size 屬性值變更時。 |
VisibleChanged | 發生在 Visible 屬性值變更時。 |
如需事件的完整清單,請參閱控制項類別的事件一節。
其他事件
控制項也會根據控制項的狀態或與控制項的其他互動來引發事件。 例如,如果控制項具有焦點且使用者按下 F1 鍵,則會引發 HelpRequested 事件。 如果使用者按下表單上的內容相關性 [說明] 按鈕,然後按下控制項上的說明游標,也會引發此事件。
另一個範例是當控制項發生變更、移動或調整大小時,就會引發 Paint 事件。 此事件為開發人員提供了在控制項上繪製並變更其外觀的機會。
如需事件的完整清單,請參閱控制項類別的事件一節。