C# comboBox控件使用之添加读取项用法

C#中的comboBox控件是主要用下拉列表的形式显示一组数据的一种控件,它支持的值类型包括基本类型和自定义的类型。

1. 在用基本类型的时候,可以直接将值添加进去,然后指定默认显示的项就可以了。

 

for(i = 0; i < 10; i++)

{

  comboBox1.Items.Add("添加项" + i);

}

2. 也可以通过代码进行数据绑定,也就是需要用一个List<T>类来定义一个可以通过索引进行访问的强类型列表,以提供搜索、排序和访问等操作。

(1)只有简单的单一数据的绑定

// 定义需要绑定的数据   

private static readonly string[] DataTypeArray = { "风速","温度", "湿度" };
public static List<string> DataType = new List<String>(DataTypeArray);

 

//绑定到comboBox2上

comboBox2.DataSource = DataType;

到这里就结束了。

(2)有多种不同类型数据的绑定

需要定义一个专用的类,还要提供相应的函数进行访问,再通过List<T>定义强类型列表。

//定义类myTest;

public class myTest

{

  public string CarNo { get; private set; }

  public int CarProduce { get; private set; }

  public string CarCompany { get; private set; }

 

  //定义构造函数

  public myTest(string carNo, int carProduce, string carCompany)

  {

    CarNo = carNo;

    CarProduce = carProduce;

    CarCompany = carCompany;

  }

}

 

// 定义强类型列表

private List<myTest> _myTestList;

 

public List<myTest> myTestList

{

  get

  {

    lock(LockThis)  //此行可以不要,根据情况判断

    {

      InitmyTestList();

    }

    return _myTestList;

  }

  set

  {

    _myTestList = value;

    }

}

 

// 定义初始化函数

private void InitmyTestList()

{

  string carNo = "京B12345";

  int carProduce = 2007;

  string carCompany = "北方出租汽车公司";

  myTest test1 = new myTest(carNo, carProduce, carCompany);

  _myTestList.Add(test1);

}

完成这些工作后,就可以绑定了。

comboBoxCarNo.DataSource = myTestList;

comboBoxCarNo.DisplayMember = "CarNo";   // 指定要显示的项,这里指车牌CarNo

comboBoxCarNo.ValueMember = "CarNo";  // 指定要显示的值,这个可以不加

 

comboBoxCarProduce.DataSource = myTestList;

comboBoxCarProduce.DisplayMember = "CarProduce";  // 指定要显示的项,这里指生产年份CarProduce

 

comboBoxCarCompany.DataSource = myTestList;

comboBoxCarCompany.DisplayMember = "CarCompany"; // 指定要显示的项,这里指车辆所属公司CarCompany

 

3. 在读取的时候可以直接选择comboBox1.SelectedItems,或者comboBox1.SelectedValue,或者comboBox1.Text,然后根据类型转换就可以。对于基本类型可以用Parse函数。

如:int类型对应的Int32.Parse(),即int x = Int32.Parse(comboBox1.Text);

float类型对应的Single.Parse(),即float y = Single.Parse(comboBox1.SelectedValue.ToString.Trim());

对于自定义的类,则需要进行一个转化,如刚才的myTest类,

myTest newTest1 = comboBoxCarNo.SelectedItem as myTest;

string carNo = newTest1.CarNo;

 

myTest newTest2 = comboBoxCarProduce.SelectedItem as myTest;

int carProduce = newTest2.CarProduce;

 

myTest newTest3 = comboBoxCarCompany.SelectedItem as myTest;

string carCompany = newTest3.CarCompany;

 

这样就实现自定义类型的访问。

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值