2010-08-26 67 views
2

嘿所有,我已經建立了一個ComboBox是手動獲取的項目是這樣的:後來C#WinForm的基礎組合框

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

c_dropCustomers.Items.Add(newitem); 

連擊評選活動,我想走出CUSTID(價值)只 但我不知道如何達到它。

SOS :)

+0

請參閱此示例:[通過組合框項目循環](http://www.c-sharpcorner.com/Forums/ShowMessages.aspx?ThreadID=43850) – lsalamon 2010-08-26 20:38:39

回答

4

asuming c#4.0:

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

+1這很酷。猜猜我需要得到C#4.0。 – Crispy 2010-08-26 20:43:00

0

實際上你需要定義一個類,以便以後可以投給它。您無法投射到匿名課程(AFAIK)。

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);