wxy新人小白 2019-07-22 10:32 采纳率: 31.3%
浏览 355

要选完3个combox的值后,才会出结果,但条件太多了if else如何简化,如何有利于以后的修改

图片说明

 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不利于对扩展开,对修改闭,请各位大神帮忙看看

  • 写回答

3条回答 默认 最新

  • space1103 2019-07-22 10:41
    关注

    首先你这个最终的结果是做什么用的我不清楚。不过给你一个我的思路,你这个说的是需要三个都选中之后才能够出现结果,是不是三级的数值都需要还是怎么样,你可以写combox的时候设计成树形关系每一级的id都是上一级和本级的拼接,这样当你选中最后一级的时候,获得这个最后一级的id就可以知道之前哪些级被选中了啊,不知道这个是不是你要的结果

    评论

报告相同问题?

悬赏问题

  • ¥50 易语言把MYSQL数据库中的数据添加至组合框
  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况