C# comboBox控件使用之添加读取项用法
2012-10-16 16:21
447 查看
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;
这样就实现自定义类型的访问。
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;
这样就实现自定义类型的访问。
相关文章推荐
- C# 程序中如何向(DEV)ComboBoxEdit控件中添加下拉列表的值不使用数据绑定,就是使用代码添加
- C#中ComboBox控件使用
- 【转帖】在C#应用程序中,对comboBox这个控件的一些基本用法
- 在C#应用程序中,对comboBox这个控件的一些基本用法
- vs2015 c#datagridview表将列名添加到comboBox1控件中
- 在C#中使用属性控件添加属性窗口
- c# combobox控件的使用
- [c#.net]做tooltip给控件动态添加属性的做法、IExtenderProvider接口的使用
- C#一使用ComboBox控件CPU就很高,VS直接卡死解决方法
- [C#] ComboBox控件的使用_绑定、增加选项、清除
- [c#.net]做tooltip给控件动态添加属性的做法、IExtenderProvider接口的使用
- C#主要控件的使用方法(陆续添加中)
- Visual Studio 2010—— C#的ComboBox控件使用
- c#(winform)中ComboBox和ListBox添加项,写一个用户控件
- C# ComboBox控件使用
- c#+dev-ComboboxEdit控件用法
- 在C#中使用属性控件添加属性窗口
- [网络收集]控件使用之——Repeater C# 分页用法
- C# ComboBox控件使用
- 使用C# + Xamarin开发Android应用-- 动态添加控件