2017-04-03 87 views
0

我有一個設置爲false在應用程序啓動一個布爾值。然而,當有人點擊按鈕時,布爾值被設置爲true並開始執行我寫的代碼。如果用戶重新點擊按鈕,是否可能再次變爲false,以便代碼停止運行?現在,如果我重新點擊按鈕,它只是執行我編寫的代碼,這似乎符合邏輯,但如果重新單擊該代碼,我希望它將其變爲false,如果重新單擊,則再次變爲true它等等等等。每次更改布爾我點擊一個按鈕

+2

的可能的複製(http://stackoverflow.com/questions/8912353/can-i-invert-a-bool) – Runner

+0

您是否建議您希望代碼在您點擊按鈕後停止執行? –

+0

考慮使用複選框打開和關閉某些東西 –

回答

5

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

_someBoolean = !_someBoolean; 
2

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

,所以你可以這樣做:

private bool myBool; 

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

這會導致其改變了按鈕被按下

0

每次雖然其他的答案正確解釋如何切換窗體的布爾字段,您可以使用以下內容:

  1. 不需要額外的字段。
  2. 向用戶提供是否啓用某些功能的好提示。

您可以使用CheckBox控制與Appearance屬性設置爲Button。這將使複選框看起來像序號按鈕,它可以在用戶點擊它後保持按下狀態。您可以訂閱CheckedChanged事件的該複選框相同的方式,你訂閱Click事件按鈕:[?我能「倒置」一個bool]

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