[英]Why is my label field is giving me an error in this c# code
我對C#有點陌生,所以如果有人告訴我為什么我會遇到錯誤
private void button2_Click(object sender, EventArgs e)
{
lblTaskManager.Text = null;
RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(
@"Software\Microsoft\Windows\CurrentVersion\Policies\System");
try
{
if (objRegistryKey.GetValue("DisableTaskMgr") == null)
objRegistryKey.SetValue("DisableTaskMgr", "1");
lblTaskManager.Text = ("Disabled");
else
objRegistryKey.DeleteValue("DisableTaskMgr");
objRegistryKey.Close();
lblTaskManager.Text = ("Enabled");
}
catch
{ }
}
}
}
錯誤位於(“已禁用”); 它表明}是必需的,但是添加並不會改變任何內容。 還有將來如何避免此錯誤。
如果符合以下條件,請正確使用{}:
if (objRegistryKey.GetValue("DisableTaskMgr") == null)
{
objRegistryKey.SetValue("DisableTaskMgr", "1");
lblTaskManager.Text = ("Disabled");
}
else
{
objRegistryKey.DeleteValue("DisableTaskMgr");
objRegistryKey.Close();
lblTaskManager.Text = ("Enabled");
}
不需要(),但不應損害您的代碼。
也許您應該移動objRegistryKey.Close();。 到最后的嘗試。
好,
RegistryKey
創建放入using
並刪除Explict Close()
。 if
和else
之后添加{}
。 ()
。 try { ... } catch {}
(忽略所有拋出的異常),再也不要使用此類代碼。 像這樣:
using (RegistryKey objRegistryKey = Registry.CurrentUser.CreateSubKey(
"@Software\Microsoft\Windows\CurrentVersion\Policies\System")) {
if (objRegistryKey.GetValue("DisableTaskMgr") == null) {
objRegistryKey.SetValue("DisableTaskMgr", "1");
lblTaskManager.Text = "Disabled";
}
else {
objRegistryKey.DeleteValue("DisableTaskMgr");
lblTaskManager.Text = "Enabled";
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.