2009-07-18 13 views
1

Je voudrais créer un contrôle de saisie semi-automatique en utilisant Boo/C#. Voici une capture d'écran de l'Internet si vous ne savez pas à quoi ça ressemble:Comment puis-je créer un contrôle similaire à celui de la saisie semi-automatique d'Eclipse?

alt text http://archive.eclipse.org/eclipse/downloads/drops/S-3.5M7-200904302300/images/p2autocomplete.png

Je pense essentiellement d'une fenêtre undecorated/dialogue (que je ne suis pas sûr comment pourrais-je mettre en œuvre), ou un contrôle qui peut être affiché sur son propre (un ListBox de quelque sorte).

Comment pourrais-je mettre en place un tel contrôle?

Je suis très intéressé par la partie pop-out du contrôle!

Répondre

1

J'ai fait quelque chose comme ça tout à l'heure et j'ai utilisé une liste pour afficher le résultat. Tout ce que je devais faire était de surveiller l'événement KeyUp pour faire la récupération des données et afficher la liste. J'ai ajouté la liste comme un contrôle caché au formulaire et l'afficherais le cas échéant après avoir défini sa position

+0

Je n'ai pas pensé à cette approche. Très intéressant. Qu'en est-il de créer une fenêtre non décorée. Par non décoré je veux dire sans la barre d'état, pas de bouton de réduction, pas de bouton de maximisation, pas de bouton de fermeture. Cela peut-il être fait? – Geo

+0

Cela pourrait effectivement fonctionner aussi je suppose. Votre formulaire a un appel de propriété formBorderStyle. il suffit de le mettre à «aucun». – ak3nat0n

+0

Comment avez-vous géré le cas lorsque le texte est au bas de la page? Avez-vous affiché votre liste ci-dessus? – Geo

2

Il semble que TextBox soit déjà terminé automatiquement. Voir TextBox.AutoCompleteSource Property.

+0

Oui, mais comment puis-je le faire ressortir de la fenêtre/formulaire/boîte de dialogue? – Geo