我在comboBox1中有2个项目,如何将选定的组合框放入if语句?

时间:2013-06-20 22:58:30

标签: c# winforms

我的组合框中的数组有两个项目。

comboBox1.Items.Add(boylar[0]);
comboBox1.Items.Add(boylar[1]);

我想把它们放在if语句中,

if (comboBox1.ItemSelected.boylar[0] == true)
{
   //do this..
}
else if (comboBox1.ItemSelected.boylar[1] == true)
{
   //do that..
}

如何选择它?我已阅读所有其他主题但无法做到。感谢。

3 个答案:

答案 0 :(得分:1)

实际上,您将为ComboBox.SelectedIndexChanged事件创建事件处理程序。查看更多 here

private void ComboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
    ComboBox comboBox = (ComboBox) sender;


            switch((string) comboBox.SelectedItem)
            {
                  case "Option1":
                              //TODO: do something
                              break;
                  case "Option2":
                              //TODO: do something
                              break;
                  default: 
                       //TODO: do something
                       break;
            }

 }

答案 1 :(得分:0)

我建议使用SelectedIndex或SelectedItem。

您目前的代码是编译的,但与您的问题无关。您正在处理按钮单击,然后检查SelectedIndex是否为-1(这意味着在.NET中没有选择任何内容)。

如果要将ComboBox设置为其第一项,则这是您将使用的代码:

comboBox1.SelectedIndex = 0;

请记住,C#是基于0的索引,因此0是第一项,1是第二项,等等。

答案 2 :(得分:0)

您当前的代码检查选择了一个项目的两个组合框SelectedIndex == -1表示没有选择项目。)

请改为尝试:

private void button1_Click(object sender, EventArgs e)
{
   if (comboBox1.SelectedIndex > -1 && comboBox2.SelectedIndex > -1)
   {
       MessageBox.Show("Bravo");
   }
}

如果您希望同时选择第一项

private void button1_Click(object sender, EventArgs e)
{
   if (comboBox1.SelectedIndex == 0 && comboBox2.SelectedIndex = 0)
   {
       MessageBox.Show("Bravo");
   }
}