我有一个字符串“test1”,我的组合框包含test1、test2和test3。如何设置选中项为“test1”?也就是说,我如何匹配我的字符串到一个组合框项目?

我想的是下面这行,但这不行。

comboBox1.SelectedText = "test1"; 

当前回答

这对我有用.....

comboBox.DataSource.To<DataTable>().Select(" valueMember = '" + valueToBeSelected + "'")[0]["DislplayMember"];

其他回答

所有设置组合框项的方法、技巧和代码行都将在组合框具有父级之前不起作用。

这应该可以达到目的:

Combox1.SelectedIndex = Combox1.FindStringExact("test1")

我使用了一个扩展方法:

public static void SelectItemByValue(this ComboBox cbo, string value)
{
    for(int i=0; i < cbo.Items.Count; i++)
    {
        var prop = cbo.Items[i].GetType().GetProperty(cbo.ValueMember);
        if (prop!=null && prop.GetValue(cbo.Items[i], null).ToString() == value)
        {
             cbo.SelectedIndex = i;
             break;
        }
    } 
}

然后使用该方法:

ddl.SelectItemByValue(value);

应该可以

Yourcomboboxname.setselecteditem("yourstring");

如果你想设置数据库字符串,使用这个

Comboboxname.setselecteditem(ps.get string("databasestring"));
comboBox1.SelectedItem.Text = "test1";