【发布时间】:2016-07-10 13:27:45
【问题描述】:
我有一个组合框,它是 DropDownList,我将它绑定到一个类的属性。这个组合框填充了一个数组。
现在在运行时,当我通过鼠标单击更改所选项目时,一切听起来都不错。但是当通过箭头键更改项目时,任何事情都不起作用。甚至组合框的 textchanged 事件也不会引发。
【问题讨论】:
-
你在处理哪个事件?
标签: c# winforms data-binding
我有一个组合框,它是 DropDownList,我将它绑定到一个类的属性。这个组合框填充了一个数组。
现在在运行时,当我通过鼠标单击更改所选项目时,一切听起来都不错。但是当通过箭头键更改项目时,任何事情都不起作用。甚至组合框的 textchanged 事件也不会引发。
【问题讨论】:
标签: c# winforms data-binding
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";
}
希望你能明白。
【讨论】: