C#winform组合框

C#winform组合框,c#,winforms,combobox,C#,Winforms,Combobox,我在C#Winform上有一个组合框,我想用这个列表中的字符串名变量填充它,而不是其他。这是列表代码 class Animals { public string averageMass { get; set; } public string lifeSpan { get; set; } public string whereToFind { get; set; } public string name { get; set; } public string

我在C#Winform上有一个组合框,我想用这个列表中的字符串名变量填充它,而不是其他。这是列表代码

class Animals
{
    public string averageMass { get; set; }
    public string lifeSpan { get; set; }
    public string whereToFind { get; set; }
    public string name { get; set; }
    public string animalImage { get; set; }
}
class Mammals:Animals
{
    public static List<Mammals> MammalList = new List<Mammals>();
    public string hairColour { get; set; }
}
类动物
{
公共字符串averageMass{get;set;}
公共字符串寿命{get;set;}
找到{get;set;}的公共字符串
公共字符串名称{get;set;}
公共字符串animalage{get;set;}
}
哺乳类:动物
{
public static List=new List();
公共字符串hairColour{get;set;}
}

您可以根据
SelectedIndexChanged
事件处理程序中的
ListBox1
中的选择,设置
ListBox2
DataSource
,如下所示:

    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if(listBox1.SelectedIndex==0)//Which is Mammals list
        {
            listBox2.DataSource = reptileList;
        }
        else//Which is Reptiles list
        {
            listBox2.DataSource = mammalList;
        }
    }

您可以在Combobox上执行此操作:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (comboBox1.SelectedItem == "Mammals") //You can also do index e.g. comboBox1.SelectedIndex == 0
        {
            comboBox2.DataSource = mammalList;
        }
        else
        {
            comboBox2.DataSource = reptileList;
        }
    }
或者您也可以这样做:

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        comboBox2.DataSource = fncGetSpecies(comboBox1.SelectedIndex);
    }

    private string[] fncGetSpecies(int intIndex)
    {
        //This will return if selected item is 0 which is Mammals or 1 if the selected item is Reptiles.
        return intIndex == 0 ? mammalList : reptileList;
    }

您可以使用以下代码向combobox添加字符串项

combobox.Items.Add(stringItem);

Google“级联dropdownlists winform”,在表示层中有业务逻辑,将其移动到业务逻辑层,并使用绑定控件或通过SelectedValue更改事件设置控件数据源来绑定组合框。答案非常模糊。@gplumb这是一个向组合框添加数据的通用问题。你还有什么建议吗?