【问题标题】:C# How to add value in comboBox text?C#如何在组合框文本中添加值?
【发布时间】:2010-12-24 07:02:03
【问题描述】:

如何为现有的组合框添加一个整数值?示例:组合框“Access”、“create”...中已经有 5 个文本值。但是如何向这些文本添加整数值?示例“访问”= 1,“创建”= 2?

请告知代码!谢谢!

代码:

        comboBoxFilter.Items.Add("Access");
        comboBoxFilter.Items.Add("Create");
        comboBoxFilter.Items.Add("Delete");
        comboBoxFilter.Items.Add("Modify");
        comboBoxFilter.Items.Add("All");

【问题讨论】:

    标签: c# text combobox


    【解决方案1】:

    我建议你创建一个类:

    public class Permission
    {
        public Int32 Index { get; set; }
        public String Value { get; set; }
    }
    

    并填写您的ComboBox,如下所示:

    List<Permission> permissions = new List<Permission>() { 
        new Permission(){ Index = 1, Value ="Access" },
        new Permission(){ Index = 2, Value ="Create" },
        new Permission(){ Index = 3, Value ="Delete" },
        new Permission(){ Index = 4, Value ="Modify" },
        new Permission(){ Index = 5, Value ="All" },
    };
    
    comboBoxFilter.DisplayMember = "Value";
    comboBoxFilter.DataSource = permissions;
    

    通过上面的代码,您可以使用以下代码访问整数值:

    (comboBoxFilter.SelectedItem as Permission).Index
    

    【讨论】:

    • 这是唯一有效的解决方案。不幸的是,对于一个简单的需求来说,这是一项艰巨的任务;)
    【解决方案2】:

    如果你事先知道数字,你可以这样做:

    comboBoxFilter.Items.Add("Access = 1");
    

    如果你不这样做,你可以有这样的东西:

    comboBoxFilter.Items.Add("Access = " + numbers.ToString());
    

    上面应该在组合框中给你这样的东西:Access = &lt;someNumber&gt;

    如果您严格要求“访问”= 执行以下操作:

    comboBoxFilter.Items.Add("\"Access\" = 1"); 
    

    comboBoxFilter.Items.Add("\"Access\" = " + numbers.ToString());
    

    【讨论】:

      【解决方案3】:

      您可以在必须使用的地方使用 ListItem 方法

      comboBoxFilter.Items.Add(new ListItem("Access", "1"));
      comboBoxFilter.Items.Add(new ListItem("Create", "2"));
      comboBoxFilter.Items.Add(new ListItem("Delete", "3"));
      comboBoxFilter.Items.Add(new ListItem("Modify", "4"));
      comboBoxFilter.Items.Add(new ListItem("All", "5"));
      

      请记住,ListItem 的 ValueText 部分都是字符串。

      附言您没有指定这是 winforms 还是 webforms,所以我假设 web.如果是 Winforms 则不适用

      【讨论】:

      • 还要记住 ListItem 是用于 web msdn.microsoft.com/en-us/library/…
      • 是的,我知道,这就是为什么我在发布后几秒钟就进行了编辑,以防 athgap 需要一个成功的解决方案。
      猜你喜欢
      • 2015-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-26
      • 1970-01-01
      相关资源
      最近更新 更多