Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过使用id';s_C#_Winforms_Combobox - Fatal编程技术网

C# 通过使用id';s

C# 通过使用id';s,c#,winforms,combobox,C#,Winforms,Combobox,我有一个组合框,里面有会员、付款、访问等值 我们可以这样做 if(combobox.text = "members") { \\do something... } if(combobox.text = "visits") { \\do something... } if(combobox.text = "paymen

我有一个组合框,里面有会员、付款、访问等值

我们可以这样做

        if(combobox.text = "members")
        {
                \\do something...
        }



        if(combobox.text = "visits")
        {
                \\do something...
        }

       if(combobox.text = "payments")
        {
                \\do something...
        }
我们可以这样做,但我不想像这样硬编码 有没有其他方法可以将组合框值与其id一起使用,而不使用上面提到的文本


有人能帮上忙吗?…

另一种方法是用有值和文本的项填充组合框,例如,这些项可以是数据库中一个表的两列

通过这种方式,在加载项时没有硬编码数据,您可以通过编辑该数据库表中的数据来加载更多项(或只是不同的项)

如果项目数量非常有限,您还可以创建一个枚举,并使用枚举值验证当前选择的值,并对上面显示的代码进行一些修改。

请参见此处:

您可以将任何对象与文本一起附加到每个项目,然后获取所选项目,提取对象,将其转换为您知道的类型,然后从中获取数据


哦,你可能需要考虑一些建议:在C代码中填充组合框,而不是手工在设计器中。

如果你的值是从数据源或某物中得到的话,有更好的方法。由于这些命令看起来像静态命令,不会有太多变化,因此可能没有更干净的方法来执行


我同意@Manatherin的评论,你应该在switch语句中这样做。我将包含引发异常的and else子句,这样您就可以知道是否键入了值文本或其他内容

这取决于如何填充组合框值,是否可以包含填充组合框的代码?或者你是通过设计器输入的值吗?我是通过设计器输入的值只是一个建议,使用switch语句可能更容易阅读,而不是很多。如果在旁注中,你的注释斜杠是向后的。