How to Bind Generic List with the WinForms ComboBox?
You can bind the WinForms ComboBox with Generic List. Refer to the following steps to achieve this requirement.
1)Initialize the Class and the Properties based on your requirement.
2)Populate the List with required details.
3)Proceed to assign as ComboBoxAdv DataSource.
The following code example demonstrates the same.
C#
List<Country> CountryList = new List<Country>(); //Adds the item into the list CountryList.Add(new Country { Key = "India" }); CountryList.Add(new Country { Key = "US" }); CountryList.Add(new Country { Key = "UK" }); CountryList.Add(new Country { Key = "China" }); //Binds the list to the ComboBoxAdv comboBoxAdv1.DataSource = CountryList; comboBoxAdv1.DisplayMember = "Key"; private void comboBoxAdv1_SelectedIndexChanged(object sender, EventArgs e) { this.listBox1.Items.Clear(); //Gets the ComboBoxAdv SelectedItem Country selectedCountry = comboBoxAdv1.SelectedItem as Country; this.listBox1.Items.Add(selectedCountry.Key); } //Specifies the List public class Country { public string Key {get; set;} }
VB
Dim CountryList As New List(Of Country)() 'Adds the item into the list CountryList.Add(New Country With {.Key = "India"}) CountryList.Add(New Country With {.Key = "US"}) CountryList.Add(New Country With {.Key = "UK"}) CountryList.Add(New Country With {.Key = "China"}) 'Binds the list to the ComboBoxAdv comboBoxAdv1.DataSource = CountryList comboBoxAdv1.DisplayMember = "Key" Private Sub comboBoxAdv1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles comboBoxAdv1.SelectedIndexChanged Me.listBox1.Items.Clear() 'Gets the ComboBoxAdv SelectedItem Dim selectedCountry As Country = TryCast(comboBoxAdv1.SelectedItem, Country) Me.listBox1.Items.Add(selectedCountry.Key) End Sub 'Specifies the List Public Class Country Private privateKey As String Public Property Key() As String Get Return privateKey End Get Set(ByVal value As String) privateKey = value End Set End Property End Class
Figure 1:The selected item of the ComboBoxAdv is displayed in ListBox.
I hope you enjoyed learning about how to bind generic list with the WinForms ComboBox.
You can refer to our WinForms ComboBox feature tour page to know about its other groundbreaking feature representations. You can also explore our documentation to understand how to create and manipulate data.
For current customers, you can check out our components from the License and Downloads page. If you are new to Syncfusion, you can try our 30-day free trial to check out our other controls.
If you have any queries or require clarifications, please let us know in the comments section below. You can also contact us through our support forums, Direct-Trac, or feedback portal. We are always happy to assist you!