使用id's使用组合框值

时间:2011-08-08 14:51:31

标签: c# winforms combobox

我有一个组合框,其价值包括会员,付款,访问等......

我们可以这样做

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



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

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

我们可以这样做,但我不想像这样硬编码  是否有任何其他方式来使用组合框值,其ID不使用上述

之类的文本

任何人都可以帮忙......

3 个答案:

答案 0 :(得分:0)

替代方法是使用具有值和文本的项填充组合框,例如,这些项可以是数据库中表的两列。

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

如果项目数量非常有限,您还可以创建枚举并使用枚举值来验证当前选择的值是什么,并修改了上面显示的代码。

答案 1 :(得分:0)

见这里:http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.items.aspx

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

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

答案 2 :(得分:0)

如果您的值来自数据源或其他东西,有更好的方法。由于这些看起来像静态命令不会有太大变化,因此实际上可能没有更简洁的方法。

我同意@Manatherin的评论,你应该在switch语句中这样做。我会包含抛出异常的else子句,所以你知道你输错了值文本或其他东西。