下拉组合框中选择多个值,不使用复选框

本文关键字:复选框 组合 选择 | 更新日期: 2023-09-27 18:02:43

你能帮我做这个吗?如何选择多个值在组合框有下拉样式作为下拉窗口窗体?

下拉组合框中选择多个值,不使用复选框

您可以使用checkbox填充ComboBox项,然后在代码中执行如下示例,将SelectedIndex保持为-1,这样它就变成了一个下拉列表,并提高了与用户的一致性。当下拉菜单关闭时,或者当用户在选择首选项后与任何其他元素交互时,它也会检查选中了什么。

这里假设你已经将你的组合框命名为"cbList",并且已经填充了三个复选框名称"one","two"answers"three"。

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,文本为"Please select all that apply.."或其他内容,并将SelectedIndex始终设置为0。