繁体   English   中英

C#在组合框中选择一个值

[英]c# select a value in combobox

我在C#Windows窗体中的组合框充满了数据库中的数据...显示成员是字符串,值成员是整数

现在,在显示表单之前,我必须预先选择它。 我努力了:

combobox.DisplayMember = string;
combobox.Text = string;
combobox.SelectedItem = string;
combobox.SelectedText = string;
combobox.SelectedValue = string;

任何可以给我一点帮助的人吗? 会被应用很多:-)

编辑:ei。 也许是其他人的解决方案...请记住,由VS2010设计器创建的加载是在构造函数之后加载的。 如我所想,不在initializeComponents()中。

如果您的ComboBox是数据绑定的,并且已经正确设置了DisplayMember和ValueMember属性,则只需将SelectedValue属性设置为要选择的项目的值即可。

例如,如果您的组合框中有以下对象:

ID  Description
--  -----------------
2   Lorem
4   Ipsum
6   Dolor
8   Sit

您可以将DisplayMember设置为“ Description”,将ValueMember设置为“ ID”。 然后,为了选择项目“ Dolor”,只需将SelectedValue设置为6。

找到该Item然后将组合框的SelectedItem属性设置为true。

编辑:

comboBox.SelectedItem = comboBox.Items.Cast<string>().First(o => o == "blala");

如果您的Items是字符串,请使用Cast<string>() ,快速组合框。Items将向您显示对象。

如果我无法确切记住它是否是winforms,则应将selected Item的selected属性设置为false,然后将另一个属性设置为true。

检查它,如果是这种情况,只需添加以下行:

combobox.SelectedIndex = -1;

使用ComboBox.SelectedIndex

例如:

myComboBox.SelectedIndex = [index of item to select];

请注意, ComboBox.Items是一个ObjectCollection ,它具有一个称为IndexOf()的方法。 将其传递给您要选择的对象的引用,然后应该返回正确的索引。

其他方式:

combobox.SelectedIndex = combobox.FindStringExact("myString")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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