2012-07-26 38 views
1

如何使用註冊表在程序停止後使用它的前一文本填充文本框。如何使用註冊表來重新填充文本框

我讀到這樣多篇文章:

Stack OverFlow1

Stack OverFlow2

Code Project1

Code Project2

到目前爲止,我還沒有,因爲沒有什麼工作了,所有我得到的是錯誤的D:

 public string Read(string KeyName) 
    { 
     RegistryKey rk = baseRegistryKey ; 
     RegistryKey sk1 = rk.OpenSubKey(subKey); 
     if (sk1 == null) 
       return null; 
     else 
     { 
      try 
      { 
        return (string)sk1.GetValue(KeyName.ToUpper()); 
      }  
      catch (Exception ex) 
      { 

      } 
     } 
    } 

說baseRegistryKey和subKey不存在。它說RegistryKey不存在。我如何修復?

+4

請告訴我們您正在使用的代碼(不是您閱讀過的文章的鏈接)並告訴我們特殊情況實際上你得到了什麼錯誤。 – Jason 2012-07-26 21:27:13

+1

你還沒有定義變量baseRegistryKey或subKey,我可以告訴任何地方。所以它們不存在是有道理的。用於將數據寫入註冊表的代碼在哪裏?那裏使用的註冊表項是什麼? – Gambit 2012-07-26 21:38:33

+0

@Gambit雅有人已經表示,作爲答案。謝謝,現在一切都很好。 – TriggerHappyMoron 2012-07-26 21:57:47

回答

1

幾天前我有同樣的問題,不要使用那些景點,它們都是壞的。

有幾件事情你的代碼錯誤:

  • baseRegistryKey和子項需要設定某種的參數。
  • 如果RegisterKey不工作可能比你沒有做using Microsoft.Win32
  • 我來解決,這是該代碼:

    public WindowsConsoleForm1(); 
        try 
        { 
         InitializeComponent(); 
         textBox1.Text = Application.UserAppDataRegistry.GetValue("example").ToString(); 
        } 
        catch { } 
    
  • ,然後在任何你有例如:textbox1.text = Path.GetDirectoryName(saveFileDialoge1.FileName);,在它後面您發佈Application.UserAppDataRegistry.SetValue("example", textbox1.text);