Lorsque vous lier des données à un contrôle, il permettra de synchroniser avec cette collection. Afin de dégager les éléments dans la zone de liste déroulante définir la source de données à null.
cmbComboBox.DataSource=null;
Si votre zone de liste déroulante est pas lié aux données (pas de source de données), alors vous pouvez faire
cmbComboBox.Items.Clear();
+1 excellente réponse;) Notez que la définition de DataSource à null semble également définir DisplayMember et ValueMember à leurs valeurs par défaut (je suppose null), donc si vous avez personnalisé, alors probablement que vous devrez reconfigurer. Grâce MicroFailSoft pour les pauvres de la documentation et des comportements imprévisibles! </sarcasm>
Ici est de savoir comment cela a fonctionné pour moi:
Si votre liste déroulante a une source de données, puis tout simplement l'attribution à une valeur nulle source de données devrait être suffisant. Cependant, de nombreuses fois, vous devez effacer les liaisons manuellement:
comboBoxAssignee.DataSource = null;
comboBoxAssignee.DataBindings.Clear();
Si il n'y a pas de source de données, puis vous venez d'effacer les éléments:
Peut-être que ça fonctionne et pour winforms) vous ne savez Pas
Éléments.Clear() ne fonctionne pas. En WinForms cmbCombobox.DataSource = myEmptyCollection hellboy, votre solution n'est pas évident de l'élément, seulement il définit à une autre source essayez cbMyComboBox.DataSource = null; suivie par cbMyComboBox.Items.Clear();
Utiliser la valeur Null n'est même pas une option pour la source de données et j'obtiens l'erreur suivante quand j'ai essayé d'éléments.clear(); "les Éléments de la collection ne peut pas être modifié lorsque la propriété source de données est définie."
Le code suivant fonctionne et je l'ai utilisé dans un certain nombre de mises à niveau des applications.
Me.cmboFromLoc.DataSource=Nothing
me.combobox.Datasource = null est en C# .NET, qui est également conforme avec l'utilisateur en question. Toute personne qui programme dans visual basic .NET ou C# .NET doit être capable de lire/traduire les réponses dans l'autre langue. Aussi, votre réponse est un doublon et devrait être supprimé.
Lorsque vous lier des données à un contrôle, il permettra de synchroniser avec cette collection. Afin de dégager les éléments dans la zone de liste déroulante définir la source de données à null.
Si votre zone de liste déroulante est pas lié aux données (pas de source de données), alors vous pouvez faire
Notez que la définition de
DataSource
ànull
semble également définirDisplayMember
etValueMember
à leurs valeurs par défaut (je suppose null), donc si vous avez personnalisé, alors probablement que vous devrez reconfigurer. Grâce MicroFailSoft pour les pauvres de la documentation et des comportements imprévisibles!</sarcasm>
OriginalL'auteur Alan
http://support.microsoft.com/kb/327895
Cela fonctionne pour moi. VB incorrectement conseille l'utilisation de l'DBNull (qui plante).
OriginalL'auteur Andrew
Ici est de savoir comment cela a fonctionné pour moi:
Si votre liste déroulante a une source de données, puis tout simplement l'attribution à une valeur nulle source de données devrait être suffisant. Cependant, de nombreuses fois, vous devez effacer les liaisons manuellement:
Si il n'y a pas de source de données, puis vous venez d'effacer les éléments:
OriginalL'auteur Ian
dans asp.net vous pouvez le faire comme ceci:
Peut-être que ça fonctionne et pour winforms) vous ne savez Pas
hellboy, votre solution n'est pas évident de l'élément, seulement il définit à une autre source
essayez
cbMyComboBox.DataSource = null;
suivie parcbMyComboBox.Items.Clear();
OriginalL'auteur makambi
Je suis à l'aide de Visual Studio 2012 et .net v4.5 et je suis la création de winforms en VB. Le suivant ne fonctionne pas:
Utiliser la valeur Null n'est même pas une option pour la source de données et j'obtiens l'erreur suivante quand j'ai essayé d'éléments.clear(); "les Éléments de la collection ne peut pas être modifié lorsque la propriété source de données est définie."
Le code suivant fonctionne et je l'ai utilisé dans un certain nombre de mises à niveau des applications.
me.combobox.Datasource = null
est en C# .NET, qui est également conforme avec l'utilisateur en question. Toute personne qui programme dans visual basic .NET ou C# .NET doit être capable de lire/traduire les réponses dans l'autre langue. Aussi, votre réponse est un doublon et devrait être supprimé.OriginalL'auteur EasyE