2013-05-03 101 views
2

我想創建一個複選框,如果選中,那麼它應該顯示下拉列表。如果沒有選中,則應該隱藏下拉菜單。這是我的代碼在Form.Designer.cs文件中的外觀。在C中隱藏下拉列表#

 this.comboBox2.FormattingEnabled = true; 
     this.comboBox2.Items.AddRange(new object[] { 
     "Database 1", 
     "Database 2", 
     "Database 3"}); 
     this.comboBox2.Location = new System.Drawing.Point(165, 436); 
     this.comboBox2.Name = "comboBox2"; 
     this.comboBox2.Size = new System.Drawing.Size(150, 21); 
     this.comboBox2.TabIndex = 13; 
     this.comboBox2.Text = "Database"; 

和其他文件我的複選框代碼是

if (checkBox1.CheckState == CheckState.Checked) 
     { 

     } 

回答

2
if (checkbox1.CheckState == CheckState.Checked) 
{ 
this.combobox2.Visible = True; 
} 

else (checkbox1.CheckState == CheckState.Unchecked) 
{ 
this.combobox2.Visible = False; 
} 
+0

謝謝,我是想之前甚至一樣。然後我想這可能是我在錯誤的地方編碼。但我得到了我的錯誤,實際上我的複選框是在按鈕點擊方法中檢查的,我沒有點擊按鈕,因爲那不是我的要求。所以現在我已經將按鈕點擊方法之外的複選框文本移動了。 – 2013-05-03 15:28:29

6

使用Visible

this.comboBox2.Visible = false; 

這將隱藏comboBox2

0
或者只是在

一行:

comboBox2.Visible = (checkbox1.CheckState == CheckState.Checked) 
1

你會想這樣的事情

private void checkBox1_CheckedChanged(object sender, EventArgs e) 
{ 
     if (checkBox1.Checked == true) 
      comboBox2.Visible = true; 

     if (checkBox1.Checked == false) 
      comboBox2.Visible = false; 

你會想設置的comboBox2可見=在屬性選項卡假,這應該有希望工作。

+0

是的,我已經想出了這部分。謝謝:) – 2013-05-03 15:38:30

+0

這很好,請指定一個接受的答案:) – JayH 2013-05-03 15:42:39

0

如果有人出現以下狀況: 的dropwdownlist的頭是隱藏的,將其設置爲yourCombo.visible = false;但名單本身仍然可見後,那麼你可以添加以下內容:

yourComboBox.DroppedDown = false;