Comment puis-je créer un TabControl avec l'onglet en-têtes?
Comment puis-je faire un onglet gestionnaire qui n'affiche pas l'onglet en-têtes?
C'est une application winforms, et le but de l'utilisation d'un onglet gestionnaire est donc le contenu de l'affichage ne peut être changé à l'aide de code. C'est bon pour les menus où diverses options de menu modifier le contenu de l'écran.
Est-il winforms ou d'une application web?
comment avez-vous su que vous étiez censé ajouter le infragistics tag?
Pas assez d'informations. Ce type d'application est présent (WinForms, WPF, Web, ...)? Êtes-vous à l'aide d'un 3ème partie de l'onglet de contrôle (tel que suggéré par @JPReddy de retagging), ou intégré dans l'onglet contrôle?
n'est-ce pas ce que les panneaux sont pour?
Cacher les onglets sur le contrôle onglet est la façon la plus courante de faire des assistants. Même infragistics a 'mode' pour un tabcontrol qui masque les onglets et les appels de l'assistant de mode 🙂
comment avez-vous su que vous étiez censé ajouter le infragistics tag?
Pas assez d'informations. Ce type d'application est présent (WinForms, WPF, Web, ...)? Êtes-vous à l'aide d'un 3ème partie de l'onglet de contrôle (tel que suggéré par @JPReddy de retagging), ou intégré dans l'onglet contrôle?
n'est-ce pas ce que les panneaux sont pour?
Cacher les onglets sur le contrôle onglet est la façon la plus courante de faire des assistants. Même infragistics a 'mode' pour un tabcontrol qui masque les onglets et les appels de l'assistant de mode 🙂
OriginalL'auteur unicorn | 2011-02-06
Vous devez vous connecter pour publier un commentaire.
Cacher les onglets sur un standard
TabControl
est assez simple, une fois que vous savez le truc. Le contrôle onglet est envoyé unTCM_ADJUSTRECT
message quand il a besoin d'ajuster la taille de la tabulation, donc nous avons juste besoin pour intercepter le message. (Je suis sûr que cela a été répondu avant, mais l'affichage le code est plus facile que de chercher pour elle.)Ajoutez le code suivant à une nouvelle classe dans votre projet, de recompiler et de l'utilisation de la
CustomTabControl
classe plutôt que le contrôle intégré:(Exemple de Code à l'origine de Dot Net Pensées.)
Notez que cela ne fonctionne pas correctement pour l'onglet en-têtes positionnés sur les côtés ou le fond. Mais pas seulement que l'air bizarre, vous ne serez pas en mesure de voir les onglets au moment de l'exécution de toute façon. Il suffit de les placer sur le haut de laquelle ils appartiennent.
Quelle est la rest de l'erreur de dire? Avez-vous reconstruire d'abord le projet? Je sais que cela fonctionne, donc il y a quelque chose de mal.
la ligne de base.WndProc(ref m); " a été commet, il fixe et fonctionne très bien, merci 🙂
Je suis sûr que cela a été répondu avant. L'Attribution est une grosse affaire autour d'ici.
Je ne me souviens pas où j'ai d'abord appris cela, donc je ne pense pas fournir toute attribution. Une recherche sur Google tourne jusqu'à ce lien, qui semble le candidat le plus probable. Je vais mettre à jour la réponse avec mention de la source.
OriginalL'auteur Cody Gray
Droit, si c'est une application web, vous pouvez construire votre propre DIV avec le même placement et de masquer/afficher en fonction de vos besoins.
OriginalL'auteur RaviM
Comme tout le monde, je trouve ta question un peu déroutant. J'ai utilisé cette méthode à la ici avant. À l'aide de cette façon, vous avez un seul vous pouvez changer si vous voulez afficher l'onglet en-têtes ou pas.
OriginalL'auteur user
Après les modifier et les commentaires de la question plus claire, je pense que la façon normale de procéder consiste à utiliser plusieurs panneaux plutôt que des onglets.
qui serait de 3 panneaux. Vous montrer qui l'on est actif.
mais comment puis-je changer d'entre eux quand je n'en designer? ils sur le dessus à tour de rôle, non?
Une autre option est de concevoir chacun des "panneaux" en tant que distinct
UserControl
, et puis il suffit de les ajouter à votre formulaire au moment de l'exécution à l'aide de code. C'est généralement la façon dont je le fais. Cette approche a l'avantage de faciliter l'encapsulation. Tout votre code est séparé par le panneau qu'il s'applique, plutôt que d'être jetés dans une forme gigantesque de la classe.+1 @Cody Il est facile de se lié à la designer, mais pour plus d'une INTERFACE utilisateur complexe comme celui-ci exécution de codage, il est tout simple
OriginalL'auteur David Heffernan
Je pense, qu'à l'aide de panneaux est la solution la plus simple. En outre, je vous suggère d'utiliser mon (gratuit, opensource)
VisualStateManager
de simplifier et de commutation de éliminer beaucoup de.Enabled = true
horreurs.Package est disponible sur Nuget.
Viens d'écrire ce code:
OriginalL'auteur Spook