private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
if (comboBox3.Text == "我")
{
if (comboBox2.Text == "1")
{
if (comboBox1.Text == "CHR1")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "a";
}
}
else if (comboBox1.Text == "2")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "b";
}
}
else if (comboBox1.Text == "3")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "c";
}
}
}
//combox2换值
else if (comboBox2.Text == "2")
{
if (comboBox1.Text == "CHR1")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "d";
}
}
else if (comboBox1.Text == "2")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "e";
}
}
else if (comboBox1.Text == "3")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "f";
}
}
}
//combox2换值
else if (comboBox2.Text == "3")
{
if (comboBox1.Text == "CHR1")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "h";
}
}
else if (comboBox1.Text == "2")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "i";
}
}
else if (comboBox1.Text == "3")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "g";
}
}
}
}
//combox3换值
else if (comboBox3.Text == "你")
{
if (comboBox2.Text == "1")
{
if (comboBox1.Text == "CHR1")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "k";
}
}
else if (comboBox1.Text == "2")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "l";
}
}
else if (comboBox1.Text == "3")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "m";
}
}
}
//combox2换值
else if (comboBox2.Text == "2")
{
if (comboBox1.Text == "CHR1")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "n";
}
}
else if (comboBox1.Text == "2")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "o";
}
}
else if (comboBox1.Text == "3")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "p";
}
}
}
//combox2换值
else if (comboBox2.Text == "3")
{
if (comboBox1.Text == "CHR1")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "q";
}
}
else if (comboBox1.Text == "2")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "r";
}
}
else if (comboBox1.Text == "3")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "s";
}
}
}
}
//combox3换值
else if (comboBox3.Text == "他")
{
if (comboBox2.Text == "1")
{
if (comboBox1.Text == "CHR1")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "t";
}
}
else if (comboBox1.Text == "2")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "u";
}
}
else if (comboBox1.Text == "3")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "v";
}
}
}
//combox2换值
else if (comboBox2.Text == "2")
{
if (comboBox1.Text == "CHR1")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "w";
}
}
else if (comboBox1.Text == "2")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "x";
}
}
else if (comboBox1.Text == "3")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "y";
}
}
}
//combox2换值
else if (comboBox2.Text == "3")
{
if (comboBox1.Text == "CHR1")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "z";
}
}
else if (comboBox1.Text == "2")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "A";
}
}
else if (comboBox1.Text == "3")
{
if (flag == true)//如果按钮被点击
{
textBox1.Text = "B";
}
}
}
}
}
如上图所示,一共有27种情况,若每个下拉框有7个值可选,那就有343种情况,而且ifelse不利于对扩展开,对修改闭,请各位大神帮忙看看
首先你这个最终的结果是做什么用的我不清楚。不过给你一个我的思路,你这个说的是需要三个都选中之后才能够出现结果,是不是三级的数值都需要还是怎么样,你可以写combox的时候设计成树形关系每一级的id都是上一级和本级的拼接,这样当你选中最后一级的时候,获得这个最后一级的id就可以知道之前哪些级被选中了啊,不知道这个是不是你要的结果
666 如此多的if我会用switch 专门搞个类做判断(新手回答完毕)
不知道你想得出的结果有没有什么规律,如果有规律的话,就比如你例子上这样,是a-z-A-Z 也就是26个字母大小写循环,比如你第一个按的顺序是2 第二个按钮是3 第三个是1,你只要算出是第几个字母