2017-04-03 85 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) 
     // ... 
}