星期六, 10月 26, 2024

[C#] DefaultEventAttribute

DefaultEventAttribute 可以用來指定元件預設事件,以 C# WinForm ComboBox 為例說明,當把 ComboBox 拉近 Form 內後,直接點擊控件,會直接在 cs 檔案內建立 SelectedIndexChanged 事件,SelectedIndexChanged 為其預設事件
ComboBox 事件觸發時機
  • SelectedIndexChanged:使用程式變更 Index、使用者點選
  • SelectionChangeCommitted:使用者點選
實務上是希望使用者點選時才觸發事件,但常常在畫面顯示上需要指定 ComboBox 顯示時的預設值,使用 Code 設定預設值時會觸發 SelectedIndexChanged,必須改用 SelectionChangeCommitted 才行。

建立自訂 ComboBox 控件並透過 DefaultEventAttribute 來自訂預設事件,把預設事件設定為 SelectionChangeCommitted,這樣直接點選 ComboBox 就會在 cs 檔案內產生 SelectionChangeCommitted 事件

UserControl 預設事件截圖

沒有留言:

張貼留言