我在處理按鈕單擊事件的一些簡單代碼上收到NullReferenceException錯誤。我仍然只需要添加一些代碼即可在消息框中實際顯示來自「TcpAddr」的值。這將允許您運行該程序,但單擊該按鈕會導致該錯誤。讀取註冊表項時出現C#NullReferenceException
另外:是否更好的做法是將實際查詢移出click事件,並讓click事件處理MessageBox.Show()?
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
namespace LiteSwitch
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
RegistryKey RegKey = Registry.LocalMachine;
RegKey = RegKey.OpenSubKey("SOFTWARE\\Altiris\\Client Service");
object CurrDS = RegKey.GetValue("TcpAddr"); //This line causes the NRE Error
MessageBox.Show("Current DS:");
}
}
}
我強烈建議您以小寫字母開頭。 (例如,'regKey'而不是'RegKey')。 – 2010-10-11 14:28:45