0

すべてのルートキーの名前を文字列として含むドロップダウンリストからサブキー値をリストボックスに入力しようとしています。デフォルトフィールドを削除するたびに、「割り当てられていないローカル変数 '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;

}

4

0 に答える 0