ComboBox SelectValue returns 前一个

ComboBox SelectValue returns the one before

我有一个问题,基本上我有一个 Windows 表单应用程序,我在其中创建了一个主题,并且该主题具有来自 Atelier 的 ID。这个 id 是 select 与 ComboBox 编辑的,它显示了我数据库中工作室 table 的工作室 Id。

基本上我选择了一个像这样填充的组合框的 Atelier id :

foreach (ListeAteliers listeAt in ListeAteliers.listeAteliers())
{
    cbCreaThemeAt.Items.Add(listeAt.idAt);
}

然后使用 ComboboxSelectedIndex 创建主题:

try
{
    int iBd = cbCreaThemeAt.SelectedIndex;
    Themes TH;

    if (txbIdThemCrea.Text.Length != 0 && txbNomThemeCrea.Text.Length != 0 && cbCreaThemeAt.SelectedIndex != 0)
    {
        TH = new Themes(txbIdThemCrea.Text, txbNomThemeCrea.Text.ToString(), cbCreaThemeAt.SelectedIndex.ToString());
        monAssoc.LesThemes.Add(TH);
        TH.ajouterTheme(txbIdThemCrea.Text, txbNomThemeCrea.Text, cbCreaThemeAt.SelectedIndex.ToString());
    }
    else
    {
        lblConfirmCreaThemes.Text = "Erreur dans la création";
    }
}
catch (Exception ex)
{
    MessageBox.Show("Erreur dans la création : " + ex.ToString());
}

我遇到的问题是,在应用程序上,当我使用组合框选择一个 ID 时,当我创建我的对象主题时,id selected 将是之前的那个。

示例:如果我有三个项目:“1”、“2”和“3”并且我选择“3”,SelectedIndex 将是“2”

我的问题是如何让我的 SelectedIndex return 成为我 select 在 ComboBox 上的确切值,为什么会这样?

SelectedIndex returns 所选项目的从 0 开始的索引。第一项 "1" 的索引为 0 等。您想查看 SelectedItem 属性 ,它将 return 实际选定的项目 "3" 而不是其索引确实是2.