2017-02-12 60 views
0

我有一個C#Winform上的組合框,我想從這個列表中填充字符串名稱變量,沒有別的。這是清單代碼。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; } 
} 
+0

谷歌「級聯dropdownlists WinForm的」,你的業務邏輯在表示層,將其移動到業務邏輯層和使用綁定控件綁定的組合框或通過SelectedValue Change事件設置控件數據源 –

回答

0

你可以做到這一點的組合框:

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; 
    } 
0

您可以根據選擇從ListBox1'sSelectedIndexChanged事件處理程序如下設置的ListBox2DataSource

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; 
     } 
    } 
-1

可以使用添加字符串項組合框下面的代碼

combobox.Items.Add(stringItem); 
+0

難以置信的模糊答案。 – gplumb

+0

@gplumb這是一個向combobox添加數據的通用問題。你還會在這裏建議什麼? –