我有一个WinForms应用程序。我已经添加了一个数据源到我的组合框如下:
数据来源:
public static Dictionary<byte, string> Ltype = new Dictionary<byte, string>()
{
{1 , "Type1"},
{2 , "Type2"},
{3 , "Type3"},
{4 , "Type4"}
};
组合框初始化:
cmbType.DataSource = new BindingSource(Ltype, null);
cmbType.DisplayMember = "Value";
cmbType.ValueMember = "Key";
cmbType.KeyUp += (s, e) =>
{
cmbType.DroppedDown = true;
};
我像下面这样设置组合框的值,但它什么也不做,它将值设置为“Type1”(即使我不使用SelectedValue,它也会这样做)。我无法通过编程设置值。而且,当我调试时,在执行SelectedValue后,cmbType.SelectedValue
的值仍然是null
。
cmbType.SelectedValue = 2;
我也试过这样做,但还是一样:
cmbType.SelectedValue = "2";
如果我遗漏了什么,请帮助我。
2条答案
按热度按时间hrysbysz1#
是否要将默认值设置为type1?
ki1q1bka2#
我发现这个线程在这里是为我工作:
Why ComboBox.SelectedValue does not work...
我更新了我的代码如下,它现在工作: