2017-02-22 104 views
-6

我的問題是關於C#窗體。windowsform,複選框,按鈕點擊

我有一個形式三個複選框:

checkbox1,checkbox2,checkbox3

和一個按鈕。

按鈕編程是這樣的:

private void checkBox1_CheckedChanged(object sender, EventArgs e) 
    { 

    } 

    private void checkBox2_CheckedChanged(object sender, EventArgs e) 
    { 

    } 

    private void checkBox3_CheckedChanged(object sender, EventArgs e) 
    { 

    } 
    private void button6_Click(object sender, EventArgs e) 
    { 
     if (checkBox1.Checked) 
     { 
     } 
     else 
     if (checkBox2.Checked) 
     { 
     } 
     else 
     if (checkBox3.Checked) 
     { 
     } 
     else 
      if (checkBox1.Checked && checkBox2.Checked) 
     { 
     } 
     else 
     if (checkBox1.Checked && checkBox3.Checked) 
     { 
     } 
     else 
     if (checkBox2.Checked && checkBox3.Checked) 
      { 
      } 
     else 
     if (checkBox1.Checked && checkBox2.Checked && checkBox3.Checked) 
     { 
     } 
     else 
     { 
    MessageBox.Show("Please Select an Checkbox to Perform"); 
     } 

     MessageBox.Show("All Done!"); 
    } 

我的問題是,當如果我檢查所有三個複選框它經歷了整個如果按鈕中的語句, 它處理的按鈕中的所有功能, 我希望當我檢查所有複選框時,它應該只執行這個語句,而其他的選中。

//If(checkbox1.checked && Checkbox2.checked && checkbox3.Checked) {} 

+1

請編輯您的帖子,並提供一個有意義的描述性問題或問題,而不是標籤信息的稱呼和迴流。 –

+2

然後移動你的if語句...... –

+0

這是我見過的if語句中最可怕的格式/縮進。 – Filburt

回答

0

兩個直接的選擇

  1. 更改if語句的順序,以便他們在你喜歡它們的檢查順序。
  2. 或更好,測試每個if語句中的所有複選框的狀態;也就是說,不要只測試一些是否被選中,並假設其餘的都未被選中 - 同時測試未選中的複選框。要明確!
0

一切都取決於您的代碼的主要邏輯。這是你的問題的一個簡單的解決方案。首先檢查他們所有人,然後只檢查他們,然後單獨檢查。

private void button6_Click(object sender, EventArgs e) 
    { 
     if (checkBox1.Checked && checkBox2.Checked && checkBox3.Checked)//checking all of them first 
     { 

     } 
     else if (checkBox1.Checked && checkBox2.Checked)//checking only pairs 
     { 

     } 
     else if (checkBox1.Checked && checkBox3.Checked)//checking only pairs 
     { 

     } 
     else if (checkBox2.Checked && checkBox3.Checked)//checking only pairs 
     { 

     } 
     else//check them here individually 
     { 
      if (checkBox1.Checked) 
      { 

      } 
      else if (checkBox2.Checked) 
      { 

      } 
      else if (checkBox3.Checked) 
      { 

      } 
      else//none of them are checked 
      { 

      } 
     } 
    } 
+0

謝謝Attila ..我已經搞清楚了..因爲我是新編程。但無論如何感謝.. –

相關問題