C# - 如何从组合框中检索对象的引用?

Amo*_*tir 3 c# combobox winforms

我正在从一个类的实例中填充C#中的ComboBox.如何通过检索对相应对象的引用来获取所选项?我已经使用了SelectedValue,SelectedItem,SelectedIndex,但它们都返回了我的对象的字符串表示.

谢谢

[编辑]

一段代码,以显示我正在尝试做的事情:

填充部分:

foreach (Business.IAuteur auteur in _livreManager.GetAuthors())
            {
                comboAuthor.Items.Add(auteur);
            }
Run Code Online (Sandbox Code Playgroud)

单击保存按钮时激活的检索部分:

 private void btnSave_Click(object sender, EventArgs e)
        {
            Business.IAuteur auteur = new Business.Auteur();

            auteur = (Business.IAuteur)comboAuthor.SelectedValue;

            // A short verification that my item has been correctly
            // retrieved
            toolStripStatusLabel1.Text = auteur.Nom;
        }
Run Code Online (Sandbox Code Playgroud)

错误消息,指向此处:toolStripStatusLabel1.Text = auteur.Nom;

你调用的对象是空的.

Aus*_*nen 5

如果SelectedItem要返回一个string对象,那么您将使用字符串填充ComboBox.如果ToString在POCO中覆盖,ComboBox将在返回所需对象时自动显示该值SelectedItem.

MSDN中所述,您还应该Equals在POCO中覆盖,以便在必要时可以在Items集合中找到它.

编辑: 解决您的代码.添加到ComboBox时
丢失.ToString()呼叫并遵循上面的建议.