假設我們在一個winforms應用程序中有Combobox
,它的項目綁定到Bindingsource
。Winforms:哪個事件觸發? combobox.selectedindexchanged OR bindingsource.currentchanged
我需要在用戶更改combobox
中的選定項目時觸發事件。
我是否應該處理combobox.selectedindexchanged
事件或bindingsource.currentchanged
事件。性能或其他方面哪個更好?
我搜索了很多,找到一篇文章或關於它的東西,但找不到直接和明確的東西。我很欣賞任何建議或解決方法。
UPDATE
我需要調用用戶後所選擇的對象ID
上的功能基從combobox
選擇一個項目。 (ID
可從Combobox1.SelectedValue
和bindingSource1.Current.ID
訪問)。在這種情況下,我應該選擇哪個事件?
我相信這兩個事件不應該有性能差異,但是'combobox.SelectedIndexChanged'事件在這種情況下感覺更自然,不是嗎? – swdev95
[哪個更快?](https://ericlippert.com/2012/12/17/performance-rant/) –
就我個人而言,我認爲您應該選擇與您實際需要使用的事件相匹配的事件。如果您的響應是面向數據的,那麼使用'BindingSource',如果您需要使用UI,則使用'ComboBox'。這樣,事件處理程序可以保留在實際相關的組件中。但是,這假設你已經完成了一項很好的工作,首先讓你的UI代碼與業務邏輯分離開來,這是大多數Winforms程序員無法做到的。 –