[英]C# ComboBox.SelectedValue not working as expected
我有一个 WinForms 应用程序。 我已将数据源添加到我的 ComboBox,如下所示:
数据源:
public static Dictionary<byte, string> Ltype = new Dictionary<byte, string>()
{
{1 , "Type1"},
{2 , "Type2"},
{3 , "Type3"},
{4 , "Type4"}
};
Combobox 初始化:
cmbType.DataSource = new BindingSource(Ltype, null);
cmbType.DisplayMember = "Value";
cmbType.ValueMember = "Key";
cmbType.KeyUp += (s, e) =>
{
cmbType.DroppedDown = true;
};
我将 combobox 的值设置为如下所示,但它什么都不做,它将值设置为“Type1”(即使我不使用 SelectedValue 也会如此)。 我无法以编程方式设置该值。 另外我调试的时候,执行SelectedValue后, cmbType.SelectedValue
的值还是null
。
cmbType.SelectedValue = 2;
我也试过做这样的事情但还是一样:
cmbType.SelectedValue = "2";
如果我在这里遗漏了什么,请帮助我。
是否要将默认值设置为 type1?
cmbType.SelectedIndex = 0;
我在这里找到了这个对我有用的线程:
为什么 ComboBox.SelectedValue 不起作用...
我更新了我的代码如下,它现在可以工作了:
cmbType.DataSource = new BindingSource(gltype, null);
//cmbType.DisplayMember = "Key";
//cmbType.ValueMember = "Value";
cmbType.DisplayMember = "Value";
cmbType.ValueMember = "Key";
cmbType.KeyUp += (s, e) =>
{
cmbType.DroppedDown = true;
};
*//added new line*
**cmbType.BindingContext = new BindingContext();**
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.