C#在表单加载时设置组合框文本

时间:2009-06-30 22:34:48

标签: c# combobox registry

当我的程序加载时,我从注册表中读取一个值并将只读组合框设置为该值,但是在加载时,组合框会在集合中显示它之前的项目。我正在使用下面的代码来设置文本。

RegistryKey OurKey = Registry.CurrentUser;
OurKey = OurKey.OpenSubKey("Software\\test",true);
type = OurKey.GetValue("Type").ToString();
cboType.Text = type;

如何将组合框设置为我从注册表中读取的值?

由于

2 个答案:

答案 0 :(得分:1)

您可以通过它的文本值找到值,然后按索引选择返回的列表项:

RegistryKey OurKey = Registry.CurrentUser;
OurKey = OurKey.OpenSubKey("Software\\test",true);
type = OurKey.GetValue("Type").ToString();

ListItem selectItem = new ListItem();
selectItem = cboType.Items.FindByText(type);

if (selectItem != null)
{
   cboType.SelectedIndex = cboType.Items.IndexOf(selectItem);
}  

答案 1 :(得分:0)

您可以将其添加到项目集合中:

int index = cboType.Items.IndexOf(type);
if (index < 0)
{
    cboType.Items.Insert(0, type);
    cboType.SelectedIndex = 0;
}
else
    cboType.SelectedIndex = index;