在取得combBox項目的值时遇到一些问题,现在将问题解决方法发布如下:
测试代码:
1.测试用类,主要用来想combBox中添加数据项
public class Vendor
{
private int old;
private string name;
public string Name
{
get
{
return name;
}
set
this.name = value;
}
public int Old
get { return old; }
set { old = value; }
public Vendor(string na,int ol)
name = na;
old = ol;
public Vendor()
{}
}
添加数据的代码:(初始化时....)
comboBox1.Items.Add(new Vendor("aaa",5));
comboBox1.Items.Add(new Vendor("dddd", 66));
comboBox1.DisplayMember = "Old";
comboBox1.ValueMember = "Name";
其中DisplayMember设置显示的数据,下面那个是对应的值,也就是待会要取出来的值.
以下是显示的代码(将值显示出来)
var k = ((Vendor)comboBox1.SelectedItem).Name;
MessageBox.Show(k.ToString());
直接selecteditem是一个object的对象,所以需要将它转化成Vendor然后才能取到name值,代码测试通过。。。有兴趣的试试!
2.模拟绑定数据库的
comboBox1.DataSource = null;
ArrayList lst = new ArrayList();
lst.Add(new Vendor("aaaaaa", 1111111));
lst.Add(new Vendor("aa", 11));
lst.Add(new Vendor("aaaa", 11111));
lst.Add(new Vendor("aaaaa", 11111));
comboBox1.Items.Clear();
comboBox1.DataSource = lst;
comboBox1.DisplayMember = "Name";
comboBox1.ValueMember = "Old";
以下是显示的代码:
var k = (int)comboBox1.SelectedValue;
MessageBox.Show(k.ToString());
就这么多,网上好多问答的很模糊有不懂的再留言!