[英]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.