【问题标题】:how to change combobox (dropdownlist ) value with arrow key?如何使用箭头键更改组合框(下拉列表)值?
【发布时间】:2016-07-10 13:27:45
【问题描述】:

我有一个组合框,它是 DropDownList,我将它绑定到一个类的属性。这个组合框填充了一个数组。

现在在运行时,当我通过鼠标单击更改所选项目时,一切听起来都不错。但是当通过箭头键更改项目时,任何事情都不起作用。甚至组合框的 textchanged 事件也不会引发。

【问题讨论】:

  • 你在处理哪个事件?

标签: c# winforms data-binding


【解决方案1】:

ComboBoxit 真的很容易使用selected index changed event,而不是文本更改事件。当它改变 ComboBox 的选择项时,它将通过鼠标或键盘触发。

示例:

    private void CB_Company_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (CB_Company.SelectedItem.ToString() != "Select a company" & CB_Company.SelectedItem.ToString() != "")
        {
            CB_Company.BackColor = Color.White;
            CB_Company.Enabled = false;

            RB_Option1.Enabled = true;
            RB_Option2.Enabled = true;
        }
    }

填充组合框方法:

    private void SetDropDownItems()
    {
        List<DropDownModel> dropDownModel = new List<DropDownModel>();

        dropDownModel.Add(new DropDownModel()
        {
            Name = "Select a company",
            Value = ""
        });

        dropDownModel.Add(new DropDownModel()
        {
            Name = "My Company",
            Value = "Comp"
        });

        CB_Company.DataSource = dropDownModel;
        CB_Company.DisplayMember = "Name";
        CB_Company.ValueMember = "Value";
    }

希望你能明白。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    相关资源
    最近更新 更多