C# 仅当项目包含字符串时才将其添加到组合框

C# 仅当项目包含字符串时才将其添加到组合框,c#,winforms,C#,Winforms,我试图实现的是向comboBox24添加一个项,但前提是Combox10中包含一个字符串 到目前为止,即使在多个条件为真的情况下,我也只添加了一个第一项。 我不是很有经验,但我认为如果陈述是真的,它就会被打破 任何人都可以告诉我如何实现这一点。您正在测试不同的条件,并希望所有条件都能执行,因此您应该删除else关键字并使其成为just if语句 case "PN63": comboBox24.Items.Clear();

我试图实现的是向comboBox24添加一个项,但前提是Combox10中包含一个字符串

到目前为止,即使在多个条件为真的情况下,我也只添加了一个第一项。 我不是很有经验,但我认为如果陈述是真的,它就会被打破


任何人都可以告诉我如何实现这一点。

您正在测试不同的条件,并希望所有条件都能执行,因此您应该删除else关键字并使其成为just if语句

          case "PN63":
                comboBox24.Items.Clear();
                
                if (comboBox10.Items.Contains("CL150"))
                {
                    comboBox24.Items.Add("ASME B16.5-150 RF");
                }
                if (comboBox10.Items.Contains("PN16"))
                {
                    comboBox24.Items.Add("FLG EN1092-1 PN16 B1");
                }
                if (comboBox10.Items.Contains("PN25"))
                {
                    comboBox24.Items.Add("FLG EN1092-1 PN25 B1"); ;
                }
                if (comboBox10.Items.Contains("PN40"))
                {
                    comboBox24.Items.Add("FLG EN1092-1 PN40 B1");
                }
                if (comboBox10.Items.Contains("CL300"))
                {
                    comboBox24.Items.Add("ASME B16.5-300 RF");
                }
                break;

您正在测试不同的条件,并希望所有条件都执行,因此您应该删除else关键字并使它们成为just-if语句

          case "PN63":
                comboBox24.Items.Clear();
                
                if (comboBox10.Items.Contains("CL150"))
                {
                    comboBox24.Items.Add("ASME B16.5-150 RF");
                }
                if (comboBox10.Items.Contains("PN16"))
                {
                    comboBox24.Items.Add("FLG EN1092-1 PN16 B1");
                }
                if (comboBox10.Items.Contains("PN25"))
                {
                    comboBox24.Items.Add("FLG EN1092-1 PN25 B1"); ;
                }
                if (comboBox10.Items.Contains("PN40"))
                {
                    comboBox24.Items.Add("FLG EN1092-1 PN40 B1");
                }
                if (comboBox10.Items.Contains("CL300"))
                {
                    comboBox24.Items.Add("ASME B16.5-300 RF");
                }
                break;
那件事让我担心。您是否有大量其他案例具有基本相同的代码类型,但具有不同的值

如果是这样,我建议您使用更像:

case "PN63":
    string[,] pairs = {
        {"CL150", "ASME B16.5-150 RF" },
        {"PN16", "FLG EN1092-1 PN16 B1" },
        {"PN25", "FLG EN1092-1 PN25 B1" },
        {"PN40", "FLG EN1092-1 PN40 B1" },
        {"CL300", "ASME B16.5-300 RF" }
    };
    SetComboboxes(comboBox10, comboBox24, pairs);
    break;
使用助手方法setComboBox:

那件事让我担心。您是否有大量其他案例具有基本相同的代码类型,但具有不同的值

如果是这样,我建议您使用更像:

case "PN63":
    string[,] pairs = {
        {"CL150", "ASME B16.5-150 RF" },
        {"PN16", "FLG EN1092-1 PN16 B1" },
        {"PN25", "FLG EN1092-1 PN25 B1" },
        {"PN40", "FLG EN1092-1 PN40 B1" },
        {"CL300", "ASME B16.5-300 RF" }
    };
    SetComboboxes(comboBox10, comboBox24, pairs);
    break;
使用助手方法setComboBox:

删除所有其他关键字。然后所有的测试都完成了。否则,它将在第一个真条件后中断。删除所有其他关键字。然后所有的测试都完成了。否则,它将在第一个真实条件后中断。