检索comboBox的所选项的值/名称

时间:2013-05-27 04:23:05

标签: c# winforms combobox

我正在开发一个winforms应用程序,我有一个从数据库绑定的comboBox,每个项目都有一个Name和一个Value:

 //New item class
 public class themeS
 {
     public string Name { get; set; }
     public string Value { get; set; }
     public override string ToString() { return this.Name; }
 }

 //Binding ComboBox Event
 using (DbEntities db = new DbEntities())
 {
    comboBox2.Items.Clear();
    IEnumerable tem  = from t in db.Themes where t.idCategorie == 1  select t;
    foreach (Themes Tem in tem)
    {
        comboBox2.Items.Add(new themeS { Value = Tem.idTheme.ToString(), Name= Tem.nomTheme });
    }
 }

现在我想检索所选组合框的值:

string curentIdTem = comboBox2.SelectedValue.ToString();

comboBox2.SelectedValue的返回值始终为“NULL”,有人可以帮我吗?

3 个答案:

答案 0 :(得分:1)

您正在向themeS投射课程int,但这不起作用。

如果您希望int课程中的Value媒体资源具有themeS值。

然后您可以通过这种方式检索它:Int32.TryParse

    int currentItem = 0;
    Int32.TryParse(((themeS)comboBox2.SelectedValue).Value, out     currentItem);

答案 1 :(得分:1)

试试这个:

int curentIdTem =  Convert.ToInt32(((themeS)comboBox2.SelectedItem).Value);

答案 2 :(得分:1)

如果您想使用SelectedValue,则需要在ValueMember上设置ComboBox

示例:

   comboBox1.ValueMember = "Value";
   .....

   int value = (int)comboBox2.SelectedValue;