【问题标题】:Using comboBox with for ()将组合框与 for () 一起使用
【发布时间】:2016-02-10 15:16:08
【问题描述】:

我有一个学校项目,我想知道我应该如何使用 for 循环:

        for (int x = 1; x <= 12; x++)
        {
            switch (comboBox1.SelectedItem.ToString())
        {
            case "Mass(m)":
                mass = int.Parse(textBox1.Text);
                break;
        ...

我有 12 个组合框,因此是“x

编辑:

项目理念:制作一个计算差异的程序。物理单位通过选择单位(前质量),然后在文本框中键入其值。 (combobox1 和 textbox1 等)然后在 for 循环中使用 switch-case 来检查 ex 的选定项目。 combobox1,如果它是质量,它将 textbox1 中的值放入我的质量变量中。然后使用 for 循环将更容易搜索并将值放在正确的位置。

我想使用 for 循环作为一种更简单的搜索方式,例如切换 ex。 comboBox1 的 1 带有 for 循环变量 x,对于 textBoxes 也是一样的。

【问题讨论】:

  • 我不喜欢这种方法。您应该获取所有组合框并在foreach-loop 中使用它们,这样您就可以获得每个组合框的值。
  • 要回答您的问题,是的,您可以这样做,但很可能涉及对新手不友好的反思(我认为)。根据您的目标,可能还有其他方法。如果您真的想使用 for 循环,那么为每个 ComboBox/TextBox 对创建 UserControls 并循环遍历它们可能会更容易。或者您可以从您的 switch 语句创建一个函数,然后手动传递对 12 次。或者您可以将这些对添加到字典或列表中

标签: c# for-loop combobox switch-statement


【解决方案1】:

所以如果只是为了一个学校项目,你可以这样做......

创建一个组合框列表,然后使用 x 作为索引:

List<ComboBox>myComboBoxList=new List<ComboBox>();
            myComboBoxList.Add(comboBox1);
            myComboBoxList.Add(comboBox2);
            //...add all your comboBoxes

            //and then...

            for (int x = 0; x < myComboBoxList.Length; x++)
            {
                switch (myComboBoxList[x].SelectedItem.ToString())
                {
                    case "Mass(m)":
                        mass = int.Parse(textBox1.Text);
                        break;

【讨论】:

    猜你喜欢
    • 2016-09-11
    • 2020-07-02
    • 1970-01-01
    • 2014-10-05
    • 2018-11-09
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多