pour un de mes projets J'ai hérité un ComboBox pour modifier son comportement de taille. En plus de cela que je voulais, pour accélérer ma création de formulaires, pour définir la valeur par défaut DropDownStyle
-ComboBoxStyle.DropDownList
Problème avec [DefaultValue()] héritant ComboBox
Pour ce faire, je l'ai utilisé la commande [Default()]
écraser la propriété DropDownStyle
[DefaultValue(ComboBoxStyle.DropDownList)]
public new ComboBoxStyle DropDownStyle
{
get
{
return base.DropDownStyle;
}
set
{
base.DropDownStyle = value;
}
}
Puis j'ai modifié la valeur par défaut valeur dans Designer en réglant le DropDownStyle
sur ComboBoxStyle.DropDownList
.
Et voilà le problème ... Il y a un petit nombre de InheritedComboBox que je veux avoir ComboBoxStyle.DropDown
parce qu'ils ont besoin de travailler avec
AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Append;
AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems;
Si je l'ai mis du designer il fonctionne très bien, cependant, parfois, après avoir reconstruit le formulaire, il déclenche une exception (également au moment du design) concernant le ComboBoxStyle. Quand je regarde le fichier FormName.Designer.cs, je peux constater que pour la InheritedComboBox spécifique il n'y a pas
DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDown
et je dois l'ajouter manuellement. Ceci est un peu ennuyeux parce que parfois je le remarque juste à l'exécution, quand le programme jette une exception sans montrer le formulaire et je ne peux pas tester chaque forme chaque fois que je reconstruis ...
Avez-vous une idée pourquoi je reçois ce comportement étrange?
Y at-il un moyen de le réparer?
Merci beaucoup pour toute réponse!
Merci beaucoup! Cela marche!J'ai remarqué qu'en fait, les propriétés DropDownStyle sont définies par le concepteur, mais après la saisie semi-automatique (il semble être par ordre alphabétique). Probablement cela fonctionne bien pour le ComboBox d'origine parce que DropDown est la valeur par défaut. Je me demande s'il y a un moyen d'affecter l'ordre dans lequel les propriétés sont assignées par le concepteur .. j'ai essayé de chercher mais je n'ai rien trouvé. –
Super, content que ça a marché pour vous. J'ai également cherché un moyen de changer l'ordre (j'ai cherché un attribut), mais je n'ai rien trouvé. –