繁体   English   中英

为什么我的标签字段在此C#代码中给我错误

[英]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();。 到最后的尝试。

好,

  1. RegistryKey创建放入using并删除Explict Close()
  2. ifelse之后添加{}
  3. 在分配的字符串周围删除()
  4. 放弃噩梦, 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM