2017-04-03 2 views
0

私はブール値をアプリケーションの開始時にfalseに設定しています。しかし、誰かがボタンをクリックするとブール値はtrueに設定され、私が書いたコードの実行を開始します。ユーザーがボタンを再度クリックするとブール値が再びfalseになり、コードの実行が停止する可能性はありますか?今すぐボタンを再クリックすると、論理的に見えるコードを作成するだけですが、再クリックするとfalseになります。再クリックするとtrueに戻りますそれ、等。否定演算子があるC#でボタンをクリックするたびにブール値を変更する

_someBoolean = !_someBoolean; 
+2

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

+0

ボタンをクリックするとコードの実行を停止したいとお考えですか? –

+0

チェックボックスを使用して何かをオンまたはオフにすることを検討する –

答えて

5

はブール値を切り替えるための!単項演算子を使用してください。 (!)

ので、あなたが何かを行うことができます:

private bool myBool; 

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

をこれは他の回答が正しく、フォームのブールフィールドを切り替える方法について説明しますが、ボタンが

0

押されるたびに変更させるような

  1. フィールドを追加する必要はありません。
  2. 一部の機能が有効かどうかのヒントをユーザーに提供します。

あなたはButtonに設定AppearanceプロパティでCheckBoxコントロールを使用することができます。チェックボックスは、ユーザがクリックした後も押された状態を保つことができる順序ボタンとまったく同じように見えます。あなたはボタンのClickイベントに加入したとして、あなたは、このチェックボックスと同じ方法のCheckedChangedイベントをサブスクライブすることができます[?私はすることができブールを「反転」]

private void FooCheckBox_CheckedChanged(object sender, EventArgs e) 
{ 
    if (fooCheckBox.Checked) 
     // ... 
} 
関連する問題