我有我的用戶控制主機數的WinForms列表框控件。我想在這個用戶控件中的行爲是我只希望其中一個列表框一次具有選定的項目。列表框ClearSelected法葉所選項目
所以,如果我有選擇的在listBox1中的項目,我點擊列表框listbox2一個項目應該是自動的所有商品取消。
我試圖用下面的代碼來實現:
dim listBox as listbox
For Each listName As String In _listboxes.Keys
If listName <> listboxName Then
listbox = me.controls(listName)
listbox.ClearSelected()
End If
Next
我存儲在字典中的列表框的名稱。 (列表框的數量是動態的)。這個例子中的listBoxName是剛剛點擊的列表框,所以這段代碼避免了清除該框中的選擇。
行爲,當我運行這段代碼是很意外,我得到。可以說我有3個列表框... listbox1,listbox2和listbox3。假設當前選擇了listbox2中的item3。如果我點擊listbox1的第4項,那麼最後的結果就是選擇了listbox1中的第4項(按預期),但是listbox2已經選擇了第1項。
總之,以前有一個項目選擇仍然第1項選擇,而不是被清除選項的列表框。
我的ClearSelection方法調用後立即發出一個debug.print listBox.SelectedItems.Count果然它說,1項被選中。
如何做到這一點或修復我的代碼有什麼想法?
賽斯
編輯:BTW,我綁定的列表框,以業務對象的集合。