在使用ComboBox顯示列表內容時經常會遇到一個問題ComboBox顯示的內容並不是綁定內容的鍵比如有一個公司類顯示的是公司的名稱而鍵卻是公司的ID號綁定沒有問題但是綁定之後如何獲得它的鍵卻比較麻煩
我之前在網上看到有的人使用的是將類對象保存為一個數組然後用ComboBox的SelectedIndex屬性值做為數組的下標來獲得類對象
我之前使用的方法是將類對象加入到ComboBox中並重寫類對象的ToString方法因為ComboBox在Item為類對象時默認顯示的是ToString方法的內容
這兩種方法都有問題網上的方法添加了一個不必要的全局變量在ComboBox的Item需要修改時候需要保證Combox和全局的類對象數組的對應關系
我的方法錯誤的使用了ToString方法將此方法的功能從原先的顯示類的信息變成了顯示一個屬性的信息最嚴重的是此方法是跟隨類走的如果有需要轉換Combox顯示的內容或在別的地方需要使用到ToString方法時(日志記錄)都會出現問題
最近找到一個方法可能這才是VS想讓我們使用的方法
示例
cboCompanysDataSource = companys; // 將ComboxBox和列表綁定
cboCompanysDisplayMember = Name; // 設定cboCompanys的顯示屬性
cboCompanysSelectedIndex =; // 設定cboCompanys顯示第一個內容
第一句話綁定cboCompanys和companyscompanys可以是列表數組等等
第二句話設置cboCompanys的顯示屬性必須是屬性(就算是public的全局變量也不行)內容不分大小寫如果內容錯誤不會報錯顯示ToString方法的內容
From:http://tw.wingwit.com/Article/program/net/201311/11815.html