2013-02-23 59 views
1

我正在做一個是或否的comboBox標有「comboBox」。在我的yesnocomboBox的Items屬性中,我把第一項作爲Yes,第二項作爲No.選擇 - 是或否

當我讓我的用戶選擇是時,它必須顯示其他特定標籤和文本框的可見性。我如何編碼來做到這一點?

到目前爲止,我有這一點,它不工作:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if(yesnocomboBox.SelectedItem = "0"){ 

    } 
} 

好吧,我選擇使用複選框來代替。這是我的代碼到目前爲止,當用戶檢查複選框時:

private void yestochappedlipsCheckBox_CheckedChanged(object sender, EventArgs e) 
    { 
     if (yestochappedlipsCheckBox.Checked = chapstickbrandsListBox.Visible = true) 

      (choosewhatyouwanttobuyLabel.Visible = true); 

我該如何使他們的兩個可見度都顯示爲真?

+0

是'yesnocombobox'與'comboBox1'不同嗎? – Sayse 2013-02-23 01:32:16

+4

用複選框可以更好地服務您。如果您只想要yes和no選項,則使用下拉菜單會導致2次點擊選擇一個選項。 – jags 2013-02-23 01:35:55

回答

0
private void yestochappedlipsCheckBox_CheckedChanged(object sender, EventArgs e) 
{ 
    if (yestochappedlipsCheckBox.Checked) 
    { 
     chapstickbrandsListBox.Visible = true; 
     choosewhatyouwanttobuyLabel.Visible = true; 
    } 
} 
0

我看到你說你切換到一個複選框,但要做一個組合將是非常簡單的。我認爲你在你的代碼中使用了一個賦值操作,而不是相等的比較。通過檢查索引而不是項目來嘗試以下操作。

此外,作爲良好的編碼習慣,請保持括號一致。

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if(yesnocomboBox.SelectedIndex == 0) 
    { 
     label1.Visible = true; 
     otherItem.Visible = true; 
     anotherItem.Visible = false; 
    } 
} 
+0

要回答上面的問題,我認爲他的事件處理程序是comboBox1和他的「if」檢查yesnocomBox的原因是因爲他重命名該控件而不重命名事件處理程序。保持控件名稱和事件處理程序一致命名也是明智的。 – saegeoff 2013-02-23 02:07:08

0

如果你太嚴重,使用comboBoxYesNo選擇。請務必設置DropDownStyle = DropDownList

bool? IsYes; 
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (comboBox1.SelectedIndex != -1) 
    { 
     //IsYes = comboBox1.SelectedIndex == 0; 
     choosewhatyouwanttobuyLabel.Visible = comboBox1.SelectedIndex == 0; 
    } 
    else 
    { 
     IsYes = null; 
    } 
} 
相關問題