2014-12-30 75 views
1

我有一個檢查列表框,有5個目錄,我的程序稍後會調用它。我希望用戶能夠檢查他們想要使用的清單框。到目前爲止,他們可以選擇他們想要的每一個項目,它會被添加,但我想從註冊表使用checkboxlist更新註冊表?

private void button1_Click(object sender, EventArgs e) 
{ 
    textBox1.Text = ""; 
    foreach (object checkbox in checkedListBox1.CheckedItems) 
    { 
     textBox1.AppendText("Item is marked: " + checkbox.ToString() + "\n"); 
     RegBUP.SetValue(checkbox); 
    } 
} 

所以人們對我做的更普遍的想法去掉選中boxs: catchpath()從目錄返回路徑,所以如果它獲取桌面,它將返回桌面的路徑。

public static void SetValue(object title) 
{ 
    RegistryKey directs = regKey.OpenSubKey("Path to registry", true); 
    directs.SetValue(title.ToString(), catchpath(title), RegistryValueKind.String); 
    directs.Close(); 
} 
+0

將所有用戶都修改註冊表的訪問? – danish

+0

是的,但只能訪問當前用戶和目錄子項。我將這些值存儲在HKCU/software/myprogram/directories值中。他們只能夠更改5個鍵來啓用/禁用程序執行的操作。 –

+0

您可以在註冊表中擁有所有5個密鑰,並根據複選框狀態將值設置爲0或1(如果有幫助)。 – danish

回答

1
// you can try this 

    private void button1_Click(object sender, EventArgs e) 
    { 
     textBox1.Text = ""; 

       for (int i = 0; i < checkedListBox1.Items.Count; i++) 
         { 

          if (checkedListBox1.GetItemChecked(i) == true) 
          { 
          textBox1.AppendText("Item is marked: " +checkedListBox1.Items[i].ToString()+ "\n"); 
           RegBUP.SetValue(checkedListBox1.Items[i]); 
          } 
          else 
          { 
           RegBUP.DeleteValue(checkedListBox1.Items[i]); 
          } 
         } 
    } 
+0

我還沒有嘗試過,但閱讀它看起來就像我想要的。 –

+0

超棒的男人!謝謝你一堆。 –

+0

歡迎花花公子!!! –