Comment savoir si la liste déroulante contient des objects?

J’ai une application winforms simple en C # qui a deux contrôles: combobox1 et le button . Bien sûr, une ComboBox et un Button respectivement. Je voudrais savoir s’il y a des articles dans combobox1

J’ai essayé ceci, mais cela ne me dit que s’il y a un élément sélectionné:

 if (combobox1.Text != "")) { MessageBox.Show("Combo is not empty"); } 

Double-cliquez sur votre bouton dans le formulaire et insérez ce code dans le gestionnaire d’événements click:

  //this code should work if (comboBox1.Items.Count == 0) { MessageBox.Show("Your combo is empty"); } ` 

j’utilise

 if (comboBox1.SelectedItem!=null) { MessageBox.Show("Combo is not empty"); } 

pour déterminer si quelque chose est sélectionné

Et je l’utilise pour déterminer si la comboBox contient des éléments.

 if (comboBox1.Items.Count > 0) { MessageBox.Show("Your combo is not empty"); } 

Si aucun élément n’est sélectionné / présent, la propriété SelectedIndex renvoie -1.

  if (combobox1.SelectedIndex == -1) //no item selected/present 

Eh bien, je suis sûr que si vous vérifiez la classe ComboBox sur MSDN: http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox_properties , vous en tirez parti.

De plus, personnellement, je n’aurais pas tendance à utiliser selectedIndex propriétés selectedIndex ou selectedItem , car il peut arriver que la collection d’éléments ne soit pas vide mais qu’aucun des éléments ne soit réellement sélectionné. Utiliser items.count est un meilleur moyen de décider si la collection d’éléments est vide ou non.

 if (ComboBox.Items!=null && ComboBox.Items.Count>0) { //have some item } 

et si vous avez besoin de savoir combien d’articles ont été utilisés

 ssortingng Count = ComboBox.Items.Count;