簡體   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