Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 每次单击按钮时更改布尔值_C#_Forms - Fatal编程技术网

C# 每次单击按钮时更改布尔值

C# 每次单击按钮时更改布尔值,c#,forms,C#,Forms,我有一个布尔值,在应用程序开始时设置为false。但是,当有人单击按钮时,布尔值设置为true,并开始执行我编写的代码。如果用户重新单击按钮,布尔值是否可能再次变为false,从而代码停止运行?现在,如果我重新单击按钮,它只执行我编写的代码,这似乎是合乎逻辑的,但如果我重新单击它,我希望它将其变为false,如果我重新单击它,它将再次变为true,等等。使用!用于切换布尔值的一元运算符: _someBoolean = !_someBoolean; 在c中有一个否定运算符 所以你可以这样做: p

我有一个布尔值,在应用程序开始时设置为false。但是,当有人单击按钮时,布尔值设置为true,并开始执行我编写的代码。如果用户重新单击按钮,布尔值是否可能再次变为false,从而代码停止运行?现在,如果我重新单击按钮,它只执行我编写的代码,这似乎是合乎逻辑的,但如果我重新单击它,我希望它将其变为false,如果我重新单击它,它将再次变为true,等等。

使用!用于切换布尔值的一元运算符:

_someBoolean = !_someBoolean;

在c中有一个否定运算符

所以你可以这样做:

private bool myBool;

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

这将导致每次按下按钮时它都会更改

尽管其他答案正确地解释了如何切换表单的布尔字段,但您可以使用以下内容:

不需要额外的字段。 为用户提供关于是否启用某些功能的良好提示。 可以使用“外观”属性设置为“按钮”的复选框控件。这将使复选框看起来完全像序号按钮,用户单击它后可以保持按下状态。您可以订阅此复选框的CheckedChanged事件,订阅方式与订阅按钮的单击事件相同:

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

如果你点击这个按钮,你会建议代码停止执行吗?考虑使用复选框来打开和关闭某物。