combox如何添加带Value和Text的item

简介: 初学winform的时候,一直以为winform中的combox只能添加简单的仅有text的item,而不象aspx中的listitem那样即有text,又有value,结果很快发现自己错了,以下是一个示例: 先声明一个类     public cl...

初学winform的时候,一直以为winform中的combox只能添加简单的仅有text的item,而不象aspx中的listitem那样即有text,又有value,结果很快发现自己错了,以下是一个示例:

先声明一个类

    public class ClsItemObject
    {
        public string ClassName = "", ClassId = "";

        public ClsItemObject(string _clsName, string _clsId) 
        {
            ClassName = _clsName;
            ClassId = _clsId;
        }

        public override string ToString()
        {
            return ClassName;
        }
    }

 

利用这个类,我们可以直接在combox中添加复杂类型的item

ClsItemObject[] co = new ClsItemObject[3];
            co[0] = new ClsItemObject("精美礼品", "001");
            co[1] = new ClsItemObject("--手工礼品", "002");
            co[2] = new ClsItemObject("家用电器", "333");
            comboBox1.Items.AddRange(co);
            comboBox1.SelectedIndex = 1;

取值时,要记得用强制类型转换,转换成正确的类型

 ClsItemObject coSelected = (ClsItemObject)comboBox1.SelectedItem;
            MessageBox.Show(coSelected.ClassId);

使用一例:

  1. public class StringIntObject
  2.         {
  3.             public string Text;
  4.             public int Value;

  5.             public StringIntObject(string text, int value)
  6.             {
  7.                 Text = text;
  8.                 Value = value;
  9.             }

  10.             public override string ToString()
  11.             {
  12.                 return Text;
  13.             }
  14.         }

  15.         public void RefreshHubGroup()
  16.         {
  17.             this.comboBox3.Items.Clear();
  18.             CLocalTabStruct.SHubGroupParam[] records = null;
  19.             CAccessLayer.GetHubGroupParam(out records);
  20.             if (records == null)
  21.                 return;

  22.             StringIntObject[] so = new StringIntObject[records.Length];
  23.             for (int i = 0; i records.Length; i++)
  24.                 so[i] = new StringIntObject(records[i].GroupName, records[i].HGPId);
  25.             this.comboBox3.Items.AddRange(so);
  26.             this.comboBox3.SelectedIndex = 0;
  27.         }

来自博客:
http://www.cnblogs.com/Caceolod/articles/1008983.html


相关文章
|
3月前
input type="button"和button的区别
input type="button"和button的区别
|
8月前
|
API
DataTables中的column().visible()
在数据表中显示和隐藏列非常方便,尤其是在显示信息密度较大的表时。此方法允许即时更改单个列的可见性,或读取列的可见性状态。
85 0
|
JavaScript
Element UI - el-table-column 属性之 show-overflow-tooltip 爬坑
Element UI - el-table-column 属性之 show-overflow-tooltip 爬坑
2003 0
try to navigate from button to line item page
Created by Wang, Jerry, last modified on Feb 15, 2015
114 0
try to navigate from button to line item page
try to navigate from SAP UI5 button to line item page
Created by Wang, Jerry, last modified on Feb 15, 2015
try to navigate from SAP UI5 button to line item page
|
JavaScript 前端开发
input type="button" 和button区别
来源: https://www.jianshu.com/p/687aabeedae5 在一个页面上画一个按钮,有四种办法: 1、 这就是一个按钮。
1401 0
|
Web App开发 测试技术