我一直在尝试使用下拉列表中的子键值填充列表框,其中包含所有根键的名称作为字符串。每次我删除默认字段时,它都会给我错误“使用未分配的局部变量'rk'”。
如图所示,在添加默认值时,它始终选择默认值,即 currentconfig 键,并且在调用更改下拉条目时不会更改。我也尝试在默认字段中提供异常,但这也无济于事。
我在这里做错了什么?
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string x = comboBox1.SelectedText;
RegistryKey rk;
switch(x)
{
case "Classes Root":
rk = Registry.ClassesRoot;
break;
case "Current User":
rk = Registry.CurrentUser;
break;
case "Local Machine":
rk = Registry.LocalMachine;
break;
case "Users":
rk = Registry.Users;
break;
case "Current Config":
rk = Registry.CurrentConfig;
break;
default:
rk = Registry.CurrentConfig;
break;
}
String[] names = rk.GetSubKeyNames();
listBox1.DataSource = names;
}