Question

J'essaie de créer mon propre contrôle de liste déroulante de style de saisie semi-automatique dans c # .net2.0. Pour accélérer le développement, j’ai construit mon contrôle en tant que UserControl, mais j’ai eu raison de le faire de cette façon.

Lorsque le menu déroulant personnalisé est créé, je dois redimensionner la zone UserControl pour pouvoir afficher la liste des options.

Idéalement, je veux pouvoir imiter le comportement de la liste drodpown en ce sens que la liste des options est dessinée «flottante» et n'est pas contrainte par la hauteur et la largeur de UserControls (ni même par les limites des formulaires parents). Une info-bulle est un autre exemple du "flottement" sans contrainte que je désire.

Le seul moyen d'y parvenir est de créer à la volée un nouveau formulaire sans bordure ni barre de titre et de l'afficher lorsque la fenêtre contextuelle est requise.

Y a-t-il un meilleur moyen (mais aussi rapide) de le faire?

TIA

Était-ce utile?

La solution

Vous devrez utiliser un formulaire ou NativeWindow pour permettre au contrôle de flotter correctement. Pour que le formulaire suive le contrôle, c’est assez facile, mais il est plus difficile de mettre en œuvre et de gérer tous les problèmes de mise au point / de dissimulation, en particulier si vous avez besoin d’une navigation / tabulation transparente.

Autres conseils

Vous pouvez essayer de créer un contrôle basé sur le contrôle du bouton déroulant ToolStrip. Je crois que ce contrôle a la fonctionnalité que vous recherchez. J'ai trouvé cette référence pour la création de contrôles basée sur ToolStrip. Vous pouvez essayer de commencer avec ceci.

http://blogs.msdn.com/jfoscoding/attachment/1335869.ashx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top