簡體   English   中英

條件為假時執行 IF 語句 C#

[英]IF statement executes when condition is false C#

  • 我一開始嘗試禁用按鈕,但沒有奏效
  • 因此我創建了一個變量來防止它在 IF 中運行代碼。 由於某些奇怪的原因它不起作用,當我嘗試在睡眠之前單擊它時,它會在時間結束后立即執行。

所以如果我點擊按鈕

  • 有一次它睡了 2 秒,
  • 如果我雙擊它,它會休眠 4 秒(等等),盡管它應該只休眠 2 秒。

這應該使代碼僅在再次啟用按鈕后才會執行。 (被禁用的按鈕只是為了外觀)

注意:變量“button_enabled”是全局變量

 private void senha_b_Click(object sender, EventArgs e)
    {
        if (button_enabled == 1)
        {
            button_enabled = 0;
            wait_label.Show();
            senha_a.Enabled = false;
            senha_b.Enabled = false;
            senha_c.Enabled = false;

            System.Threading.Thread.Sleep(2000);

            wait_label.Hide();
            senha_a.Enabled = true;
            senha_b.Enabled = true;
            senha_c.Enabled = true;
            button_enabled = 1;
        }
    }

這應該解決它

 private async void senha_b_Click(object sender, EventArgs e)
    {
        if (button_enabled == 1)
        {
            button_enabled = 0;
            wait_label.Show();
            senha_a.Enabled = false;
            senha_b.Enabled = false;
            senha_c.Enabled = false;

            await Task.Delay(2000);

            wait_label.Hide();
            senha_a.Enabled = true;
            senha_b.Enabled = true;
            senha_c.Enabled = true;
            button_enabled = 1;
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM