Windows.Form ComboBox无法设置Unbound Control的SelectedValue属性

Ama*_*tel 3 c# combobox

我无法为未绑定的组合框设置默认的组合框选择值.这是我的代码:

         System.Console.WriteLine("Current Tag Org Id = " + CurrentTag.Org.OrgId);
         ddlRUC.SelectedValue = CurrentTag.Org.OrgId;
         System.Console.WriteLine("ddlRUC selected value = " + ddlRUC.SelectedValue);

这是输出:Current Tag Org Id = 285 ddlRUC selected value =

请注意,ddlRUC.SelectedValue尚未设置为285.是否需要绑定数据源才能使用SelectedValue属性?如果是这样,如何设置未绑定的组合框中显示的默认项?

Hen*_*man 12

组合框(如列表框)有2种机制来处理选择.或者:

  1. 您将List分配给DataSource属性,并将ValueMember和DisplayMember设置为该列表的项目的属性名称.要么,

  2. 使用您选择的对象填充Items属性,ToString() 将显示.

在方案1)中,您可以使用SelectedValue根据ValueMember获取/设置选择.

在方案2)中,您使用SelectedItem属性而不是SelectedValue

所以问题是,你如何填写物品?


小智 11

SelectedValue属性仅适用于数据绑定列表框.如果您可以在List <>中创建列表项,则可以将列表绑定到控件,SelectedValue将按您的意愿工作.


小智 5

我遇到了这个问题,浪费了宝贵的时间,因为我列表中的值与我试图分配给 SelectedValue 的值是不同的 int 类型,例如 int32 与 int16。会让你发疯的事情是没有抛出编译错误或运行时异常。它只是不起作用。获取匹配的 int 类型,效果很好!请注意,绑定组合框是必不可少的。