Comment désélectionner le texte d'une liste déroulante
J'ai un krypton de zone de liste déroulante qui je lier des données avec une liste de paires clé-valeur. Ce qui se passe est que lorsque j'ai mis l'élément sélectionné dans le code, il est en surbrillance le texte. Comment puis-je éviter cela ou désélectionner le texte?
J'ai essayé ce qui suit:
//1
combo.Select(0,0);
//2
combo.Focus();
anotherControl.Focus();
//3
combo.SelectionStart = 0;
combo.SelectionLength = combo.Text.Length;
//4
combo.SelectionStart = combo.Text.Length;
combo.SelectionLength = 0;
Rien ne semble fonctionner. Toute aide est appréciée.
source d'informationauteur MattBH
Vous devez vous connecter pour publier un commentaire.
J'ai réussi à l'accomplissement de cette écraser l'événement OnPaint de mon contrôle/fenêtre et de faire
J'ai peut-être trouvé une solution qui fonctionne:
Si vous utilisez un formulaire, vous abonner à la forme de la Montre de l'événement.
OU
Si vous utilisez un UserControl (comme je suis), vous pouvez vous abonner à l'événement VisibleChanged.
Dans le cas, vous pouvez procéder de la façon suivante:
En aparté:
J'ai fini par avoir à le faire pour un contrôle utilisateur dans lequel j'ai ajouté des zones de liste modifiables pour le contrôle et, plus tard, de définir de façon dynamique leur taille. Réglage de la taille provoqué la mise en évidence que l'OP a été la rencontre.
Essayer
Au sujet de votre problème avec l'accent: (MSDN)
Si étrange, pourquoi est le suivant ne fonctionne pas:
Pas sûr de ce que vous pourriez faire dans le contexte ie tiré d'événements, etc. Toutefois, dans le combox événement selectedindexchanged vous pouvez ajouter anotherControl.Sélectionnez().
Qui devrait:)
Je sais que sa fait un moment depuis que vous avez posé cette question. Mais voici ce que vous pouvez faire
Voici ce que je fais:
Vous n'avez pas d'indiquer si l'utilisateur est censé être en mesure de modifier la zone de liste déroulante de valeurs ou non. Si non, alors
DropDownStyle
de la zone de liste déroulante doit être réglé àComboBoxStyle.DropDownList
. De cette façon, la zone de liste déroulante ne permettent de sélectionner les valeurs existantes, les utilisateurs ne seront pas en mesure de saisir de nouvelles valeurs et le texte ne sera jamais mis en évidence.ces 3 lignes qui m'a aidé:
TabIndex doit pas être la première, de sorte qu'il n'est pas le premier élément de la forme
Vous suffit de placer ce code sur l'événement généré par le bouton ou cliquez à l'endroit où vous souhaitez désélectionner le texte d'une Zone de liste modifiable
Dans mon cas, la sélection est apparu après redimensionnement. Cette résolu:
Sur l'événement SelectedIndexChanged ajouter le timer qui va être exécutée qu'une seule fois au bout de 10 millisecondes.
Je ne se soucient pas comment les vieux c'est. Nous allons construire une base de connaissances.
- Je utiliser D5 (et probablement les versions antérieures sont les mêmes). Vous devez utiliser:
Aussi, si cela ne fonctionne pas, celui-ci n': Éviter le Style par défaut (csDropDown).
Et de le définir:
comme Alex l'a suggéré.
Merci. Fonctionne très bien!