从下拉框中获取选定的对象

4

我有一个填充了对象的Combobox。 在选择combobox中的某个对象后,我想在Textbox中显示文本,但由于某种原因我无法通过我的选择。

这是我combobox中的内容:

 private void showBirds()
    {
        cboBirds.Items.Clear();
        foreach (Bird b in Bird.ReadBirdCSV(txtFile.Text))
        {
            cboBirds.Items.Add(b);
        }
    }

它基本上显示了来自对象“Bird”的鸟类名称。
 private void cboBirds_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {

//WHAT DO I WRITE HERE TO GET txbGender TO SHOW THE GENDER?

        foreach (Bird b in cboBirds.Items)
        {
            Console.WriteLine(b.Gender +" - " + b.Name +" - " + b.Risk + " - " +b.Reference);
        }
//^This shows all info on every bird.

    }

我知道这很简单,但我似乎无法弄清楚。


我不理解 Console.WriteLine(... 部分,如果你有一个 TextBox,你必须设置它的 Text 属性。也许我漏掉了什么? - Alessandro D'Andria
你说得完全正确,我只是把它放在那里是为了指出我的cbo中确实有对象,而不仅仅是字符串。 - user2740565
可能重复的问题 https://dev59.com/sXA75IYBdhLWcg3wipqH - konkked
1个回答

8

使用 ComboBox.SelectedIndexChanged 事件

private void ComboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
     if(ComboBox1.SelectedItem==null) return;
     var b= (Bird) ComboBox1.SelectedItem;
     if(b!=null)
         Console.WriteLine(b.Gender +" - " + b.Name +" - " + b.Risk + " - " +b.Reference);
}

我找到了我需要的解决方案。 - Zujaj Misbah Khan
无法将 DataRowView 强制转换为 Author。有解决方案吗?谢谢。 - MindRoasterMir

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接