【发布时间】:2015-07-15 11:13:46
【问题描述】:
你能帮我做这件事吗? 如何在具有下拉样式的组合框中选择多个值作为Windows窗体中的下拉列表?
【问题讨论】:
-
我们不能不使用复选框吗?有没有办法从下拉列表中选择多个值并附加到组合框? @tafa
你能帮我做这件事吗? 如何在具有下拉样式的组合框中选择多个值作为Windows窗体中的下拉列表?
【问题讨论】:
您可以使用 CheckBox 填充您的 ComboBox 项目,然后在代码中执行一些操作,如下例所示,将 SelectedIndex 保持在 -1,使其成为一个下拉列表并提高用户的一致性。一旦关闭下拉菜单或当用户在选择首选项后与任何其他元素交互时,它也会检查勾选了什么。
这假设您已将 ComboBox 命名为“cbList”,并且您已经用三个 CheckBox 名称“一”、“二”和“三”填充了它。
private void cbList_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
cbList.SelectedIndex = -1;
}
private void cbList_DropDownClosed(object sender, EventArgs e)
{
foreach(CheckBox chk in cbList.Items){
if(chk.IsChecked.HasValue && chk.IsChecked.Value){
switch (chk.Content.ToString()) {
case "one":
// Do something
break;
case "two":
// Do something
break;
case "three":
// Do something
break;
}
}
}
}
您还可以将第一个元素设置为 ComboBoxItem,并带有文本“请选择所有适用的..”或其他内容,并将 SelectedIndex 始终设置为 0。
希望这会有所帮助。
【讨论】: