Dans mon application Windows, je veux montrer à l'utilisateur une sorte de carte. Les informations affichées sur cette carte peuvent varier considérablement, selon les filtres définis par l'utilisateur. Avec ces filtres définis, l'utilisateur voudra regarder la carte pour différents emplacements (vues) et les voir dans différents modes.
Parce qu'il n'y a pas d'ordre particulier dans la commutation - l'utilisateur 1 peut vérifier toutes les vues en mode 1, puis toutes les vérifier à nouveau en mode 2, tandis que l'utilisateur 2 peut vérifier chaque vue en mode 1 et en mode 2 avant de passer à la vue suivante - il semble inapproprié d'avoir des onglets imbriqués. Une autre considération est que WinForms manque de boutons à bascule appropriés.
Serait-il acceptable d'avoir deux contrôles d'onglet au même niveau, de sorte que la combinaison des onglets sélectionnés détermine exactement ce qui est affiché? Je ne sais pas si cela casse la métaphore de l'onglet ou non. Voici une image de ce à quoi cela ressemblerait:
D'autres suggestions sont bien sûr les bienvenues!
En ce qui concerne la solution checkbox/radiobutton, mon problème est qu'ils sont beaucoup plus difficiles à cliquer que les onglets. L'idée du bouton radio est mieux adaptée, mais y a-t-il peut-être quelque chose de plus grand, mais joli?
Si vous avez deux groupes d'onglets, les utilisateurs peuvent penser qu'ils ne peuvent en sélectionner qu'un, quel que soit l'endroit où vous les placez. En général, nous connaissons la perception d'avoir un seul onglet sélectionné. Je suggérerais une approche similaire à celle mentionnée dans une autre réponse, mais avec des boutons radio plutôt que des cases à cocher car je pense que vous ne souhaitez que l'utilisateur sélectionne un "mode".
télécharger la source bmml - Wireframes créés avec Balsamiq Mockups
Ma suggestion est d'opter pour la combinaison Tab + Filtre.
Comme indiqué à l'unanimité ci-dessus, vous ne pouvez pas avoir de double onglets. Si vous craignez que les boutons radio aient une zone cible trop petite (bien que cela ne semble déranger personne sur le Web;), vous pouvez avoir une barre de boutons.
télécharger la source bmml - Wireframes créés avec Balsamiq Mockups
Oui, cela casse complètement la métaphore de l'onglet. Vous pouvez utiliser des sous-onglets, peut-être:
+-----+------+-----+
| | | |
+ +------+-----+--------------------+
| +------+-----+ |
| | | | |
| +------+ +----------------------+ |
| | | |
| | | |
| | | |
| | | |
| +-----------------------------------+ |
+---------------------------------------+
Bien que si je comprends bien vos besoins - en fonction de votre utilisation des filtres - je pense qu'un type d'interface de "recherche à facettes" pourrait mieux répondre à vos besoins.
Comme d'autres l'ont dit, les multiples jeux d'onglets prêtent à confusion - la première chose à laquelle j'ai pensé en voyant que c'était "pourquoi sommes-nous sur deux pages à la fois?".
Si les boutons radio sont trop petits pour les options de mode (en gardant à l'esprit que le texte doit également être cliquable), il y a quelques options qui viennent à l'esprit:
Agrandir le bouton radio lui-même - cela signifie que si l'utilisateur manque un peu, il peut toujours appuyer sur le bouton.
En utilisant les commandes de Windows, vous pouvez dire aux boutons radio de ressembler à des boutons normaux, où celui sélectionné est mis en surbrillance - bien que vous ayez alors le problème de quelque chose qui ressemble à un bouton mais qui ne l'est pas vraiment.
Placez les boutons radio dans des boîtes (panneaux?) Et faites en sorte que l'événement clic de boîte soit transféré vers l'événement de clic de bouton. De cette façon, vous devrez programmer la nature "sélectionnez un seul" des boutons radio
Je suis sûr qu'il existe d'autres options pour rendre les boutons radio "plus cliquables", mais c'est ce qui me vient à l'esprit jusqu'à présent.