在WPF或Windows Forms中,实现ListBox的多选可以通过以下步骤来完成:
WPF中的实现
-
设置ListBox的
SelectionMode
属性:在XAML中,将ListBox的
SelectionMode
属性设置为Multiple
。或者在代码中:
myListBox.SelectionMode = SelectionMode.Multiple;
-
处理ListBox的选择变化事件:
你可以使用
SelectionChanged
事件来检测用户何时选择了或取消选择了列表项。myListBox.SelectionChanged += MyListBox_SelectionChanged; private void MyListBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { // 处理选择变化 }
Windows Forms中的实现
-
设置ListBox的
SelectionMode
属性:在设计器中,将ListBox的
SelectionMode
属性设置为MultiSelect
。或者在代码中:
myListBox.SelectionMode = System.Windows.Forms.SelectionMode.MultiSelect;
-
处理ListBox的选择变化事件:
你可以使用
SelectedIndexChanged
事件来检测用户何时选择了或取消选择了列表项。但是,这个事件不会告诉你具体哪些项目被选择了,除非你维护一个被选择项目的列表。myListBox.SelectedIndexChanged += MyListBox_SelectedIndexChanged; private void MyListBox_SelectedIndexChanged(object sender, EventArgs e) { // 处理选择变化 }
如果你需要知道哪些项目被选择了,你可以使用
SelectedItems
属性,它返回一个包含所有选定项目的IList
集合。private void MyListBox_SelectedIndexChanged(object sender, EventArgs e) { foreach (var item in myListBox.SelectedItems) { // 处理每个选定的项目 } }
以上就是在WPF和Windows Forms中实现ListBox多选的基本方法。