选择checkboxCombobox的一个值(附加)

时间:2011-12-20 14:01:08

标签: c# winforms combobox checkbox

这是select one value of 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项目?

2 个答案:

答案 0 :(得分:1)

为什么我总是想要这么做呢!为什么尝试使用checkboxcombobox作为组合框?只因为我在我的表格上有它!

有一种更好,更简单的方法来解决这个问题!添加一个组合框。所以我做了。我的新解决方案是与checkboxcombobox位于同一位置的隐形组合框。当某个事件发生时,我的组合框将变得可见,我的checkboxcombobox将变为不可见。

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

当我的行动完成后,组合框将再次消失。大家都感谢你和我一起思考。

答案 1 :(得分:0)

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