winforms 检索组合框选定项的值/名称

ulydmbyx  于 2023-01-31  发布在  其他
关注(0)|答案(3)|浏览(162)

我正在开发一个winforms应用程序,我有一个从数据库绑定的组合框,每个项都有一个名称和一个值:

// 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',有人能帮忙吗?

xe55xuns

xe55xuns1#

试试这个:

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

0md85ypi2#

您正在将类themeS强制转换为无法工作的int
如果themeS类的Value属性中需要int值。
然后,您可以通过以下方式检索它:Int32.TryParse

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

ui7jx7zq3#

如果要使用SelectedValue,则需要在ComboBox上设置ValueMember
示例:

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

   int value = (int)comboBox2.SelectedValue;

相关问题