C#winForm Basics Combobox

时间:2010-08-26 20:23:40

标签: c# winforms combobox

嘿所有,我已经构建了一个ComboBox,可以手动获取这样的项目:

var newitem = new { fullname =c.Company+" "+ c.FirstName + " " + c.LastName,
                    custId = c.CustomerID };

c_dropCustomers.Items.Add(newitem);

稍后在组合选择事件中,我想要只获得custId(The Value) 但我不知道如何达到它。

SOS:)

3 个答案:

答案 0 :(得分:4)

asuming c#4.0:

dynamic item = c_dropCustomers.SelectedItem;
dynamic customerID = item.custId;

答案 1 :(得分:0)

您需要实际定义一个类,以便以后可以转换为它。您无法转换为匿名类(AFAIK)。

答案 2 :(得分:0)

如果我理解你的问题:

var item = c_dropCustomers.SelectedItem;
var custId = item.custId;

修改 (C#3.5)

如果它确实是匿名类型,您需要执行以下操作:

        ComboBox cb = new ComboBox();
        cb.Items.Add(new { fullname = "Company" + " " + "First Name" + " " + "Last Name", custId = 44 });

        cb.SelectedIndex = 0;

        var item = cb.SelectedItem;
        var custId = item.GetType().GetProperty("custId").GetValue(item, System.Reflection.BindingFlags.GetProperty, null, null, null);