显示来自下拉框

时间:2018-03-15 11:57:17

标签: c# combobox textbox

我是一个希望通过实践学习的新手 - 我正在编写一个小型的Windows窗体应用程序,它将根据下拉框中的选择显示各种文本输出

我已经搜索了如何做到这一点,但到目前为止我还没有找到答案。我只是希望IOPS.text值显示在文本框中,基于从组合框中选择的值

到目前为止我所拥有的是:

private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e)
            {

                //Insert values for block size


                {
                  comboBox1.SelectedValue = ("4Kb");
                        ShowIOPS.Text = ("4096");
                }

                { comboBox1.SelectedValue = ("8Kb");
                        ShowIOPS.Text = ("8192");
                    }
                {
                  comboBox1.SelectedValue = ("16Kb");
                        ShowIOPS.Text = ("16384");
                    }
                {
                  comboBox1.SelectedValue = ("32Kb");
                        ShowIOPS.Text = ("32768");
                    }
                { comboBox1.SelectedValue = ("64Kb");
                        ShowIOPS.Text = ("65536"); }

现在发生的事情是,无论选择什么组合框值,它都会在文本框中显示botom iops.text值

我确信我错过了一些非常简单明了的内容,但是非常感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

您的代码始终在文本框中显示底部iops.text值的原因是因为您未提供要使用的程序选择。它目前只是遍历每个语句并覆盖它直到最后一个iops.text被选中。你需要使用if语句或下面的switch语句,这告诉程序根据选择使用iops.text的内容:

private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e)
        {

            //Insert values for block size
            Switch (comboBox1.SelectedValue)
            {
            case "4Kb":                                  
                    ShowIOPS.Text = ("4096");
                    break;

            case "8Kb":
                   ShowIOPS.Text = ("8192");
                   break;
            case "16Kb":
                    ShowIOPS.Text = ("16384");
                    break;
            case "32Kb":
                    ShowIOPS.Text = ("32768");
                    break;
            case "64Kb":
                    ShowIOPS.Text = ("65536"); 
                    break;
            default:
                    //some error check if none of the above was selected
                    break;
            }

答案 1 :(得分:0)

尝试这样......

            if (comboBox1.SelectedItem.ToString() == "4Kb")
            {
                ShowIOPS.Text = ("4096");
            }
            else if (comboBox1.SelectedItem.ToString() == "8Kb")
            {
                ShowIOPS.Text = ("8192");

            }
            else if (comboBox1.SelectedItem.ToString() == "16Kb")
            {
                ShowIOPS.Text = ("16384");
            }
            else if (comboBox1.SelectedItem.ToString() == "32Kb")
            {
                ShowIOPS.Text = ("32768");

            }               
            else
            {
                ShowIOPS.Text = ("65536");
            }