簡體   English   中英

每次單擊按鈕時更改布爾值

[英]Changing a boolean every time I click a button

我有一個在應用程序開始時設置為false的布爾值。 但是,當有人單擊按鈕時,布爾值將設置為true並開始執行我編寫的代碼。 如果用戶重新單擊按鈕,布爾值再次變為false從而代碼停止運行,是否可能? 現在,如果我重新單擊該按鈕,它只會執行我編寫的似乎合乎邏輯的代碼,但是如果我重新單擊它,則希望將其轉換為false,如果我重新單擊,則再次將其轉換為true等等,等等。

使用! 一元運算符,用於切換布爾值:

_someBoolean = !_someBoolean;

在C#中有一個否定運算符。 (!)

因此您可以執行以下操作:

private bool myBool;

public void OnButtonClick()
{
    myBool = !myBool;
}

這將導致它在每次按下按鈕時發生變化

盡管其他答案正確地解釋了如何切換表單的布爾字段,但是您可以使用以下方法:

  1. 不需要其他字段。
  2. 給用戶很好的提示是否啟用了某些功能。

您可以將CheckBox控件的Appearance屬性設置為Button 這將使復選框看上去與順序按鈕完全相同,用戶單擊后可以保持按下狀態。 您可以按照訂閱按鈕的Click事件的相同方式訂閱此復選框的CheckedChanged事件:

 private void FooCheckBox_CheckedChanged(object sender, EventArgs e)
 {
    if (fooCheckBox.Checked)
      // ...
 }

暫無
暫無

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

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