繁体   English   中英

C# ComboBox.SelectedValue 未按预期工作

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM