选择checkboxCombobox(附加)的一个值

本文关键字:一个 附加 选择 checkboxCombobox | 更新日期: 2023-09-27 18:18:36

这是一个额外的问题选择一个值的checkboxCombobox

我需要一个特殊的情况下的复选框组合框的操作像一个普通的组合框。我需要一次只能选择一个值。我现在明白了。我的下一个问题是:

private void PreDefSerials_SelectedValueChanged(object sender, EventArgs e)
{
    if (PreDefSerials.SelectedIndex > -1)
    {
        // shut down the evenhandler
        PreDefSerials.SelectedValueChanged -= PreDefSerials_SelectedValueChanged;
        // get the selected items name.
        string test = PreDefSerials.SelectedItem.ToString();
        // deselect all boxes
        for (int i = 0; i < PreDefSerials.CheckBoxItems.Count; i++)
        {
            PreDefSerials.CheckBoxItems[i].CheckState = CheckState.Unchecked;
        }
        if(test != "")
            // select the selected text again
            PreDefSerials.CheckBoxItems[test].CheckState = CheckState.Checked;
        // reinstate the eventhandler
        PreDefSerials.SelectedValueChanged += PreDefSerials_SelectedValueChanged;
    }
}

我现在的问题是,当我在checkbocombobox中选择第二个项目时,选中的项目是(item1, item2)。使用此名称,我对项目的重新检查不起作用。

我如何才能只获得最近单击的复选框组合框的项目?

选择checkboxCombobox(附加)的一个值

为什么我总是想用艰难的方式去做!为什么尝试使用一个复选框组合框作为组合框?就因为我已经在表格上写了!

有一个更好更简单的方法来解决这个问题!添加一个组合框。于是我照做了。我的新解决方案是在与复选框组合框相同的位置上添加一个不可见的组合框。当某个事件发生时,我的组合框将是可见的,而我的复选框组合框将是不可见的。

comboBox1.Visible = true;
PreDefSerials.Visible = false;

和组合框将再次消失,当我的操作完成。谢谢大家和我一起思考。

属性SelectedItem包含最近选中的项,属性SelectedItems包含所有选中的项。