Fermer

mai 28, 2019

Comment obtenir des onglets de type chrome avec une forme de tabulation dans WinForms


Ce billet vous présente le contrôle de formulaire à onglets et ses fonctionnalités, et nous verrons comment effectuer la navigation par onglets dans votre application WinForms.

Nous avons présenté le l'interface utilisateur Telerik pour WinForms [19659003] RadTabbedForm dans la version R1 2019 des contrôles. J'espère que maintenant vous avez joué avec et vu à quel point cela peut être pratique dans de nombreux scénarios. Dans cet article de blog, je vais essayer d'expliquer certains scénarios liés aux poignées de contrôle, puis plus en détail les fonctionnalités.

 tabbed-form-01 "title =" tabbed-form-01 "/></p data-recalc-dims=

L’idée d’organiser les différentes vues d’une application dans des onglets séparés n’est pas nouvelle: Microsoft TabControl et notre propre système RadPageView existent depuis un certain temps. Les contrôles ont une fonction plus limitée: imaginez que vous souhaitiez implémenter une interface utilisateur à onglets qui serve de conteneur de niveau supérieur à l'ensemble de l'application. La vue de page et le contrôle d'onglet MS ne conviennent pas à cela car ils sont liés au formulaire. En fait, un contrôle de dock peut mieux vous servir, mais si vous souhaitez obtenir une expérience utilisateur final semblable à celle que les utilisateurs voient dans le monde moderne. navigateurs, cela ne suffit toujours pas.

Le RadTabbedForm est spécialement conçu pour gérer ce scénario. Le contenu de l'application peut être organisé et séparé en différents onglets, chacun étant responsable d'une partie différente de l'application. Les onglets sont situés dans la barre de titre du formulaire, tout comme dans les navigateurs (Chrome, Edge, etc.) et peuvent être réorganisés ou déplacés dans une fenêtre distincte. Ceci est extrêmement utile dans les grandes applications qui visualisent des données. Au lieu de passer d'un onglet à un autre, l'utilisateur final pourrait simplement faire glisser cet onglet pour créer un nouveau formulaire. Les onglets seraient alors dans deux fenêtres séparées et l'utilisateur pourrait facilement voir les deux contenus simultanément. RadTabbedForm offre une grande flexibilité et une liberté appréciée des utilisateurs de votre application.

La capture d'écran ci-dessous montre deux onglets, le deuxième étant séparé dans un formulaire séparé. Le premier onglet affiche RadPivotGrid et le second une ventilation des données groupées et agrégées situées derrière la cellule sélectionnée dans le pivot du premier onglet.

 tabbed-form-011 "title =" tabbed-form-011 "/ ></p data-recalc-dims=

Architecture et fonctionnalités

Le RadTabbedForm représente un hôte de formulaire de RadTabbedFormControl . Le contrôle de formulaire est responsable de la création et de la manipulation des onglets dans la barre de titre, des panneaux. La plupart des fonctionnalités et de l'API sont définies dans la propriété RadTabbedFormControl qui est exposée par la propriété de TabbedFormControl du formulaire. Le contrôle comporte de nombreuses fonctionnalités et son apparence peut être entièrement personnalisée en définissant simplement quelques propriétés. Le formulaire est construit sur le TPF constitué de nombreux éléments visuels légers. La structure arti La documentation fournie fournit des informations sur les éléments de base les plus importants du contrôle.

Prise en charge complète du temps de conception

Des onglets peuvent être ajoutés dans le concepteur de Visual Studio. Chaque onglet créera un panneau où tous les autres contrôles peuvent être ajoutés.

RadTabbedForm avec le thème Fluent dans Visual Studio Designer

 tabbed-form-02 "title =" tabbed-form-02 "/></p data-recalc-dims=

Support de la barre de titre

Il était très difficile d'implémenter tous les fonctions à l'intérieur de l'espace non client du formulaire. Je suis heureux de dire que nous avons réussi à réaliser tout ce qui était prévu.

Formulaires par onglets par défaut et personnalisés

 tabbed-form-03 "title =" tabbed-form-03 " /> </b data-recalc-dims=

  • Style de barre de titre Windows standard: Qu'est-ce que cela signifie? En gros, cela signifie que nous pouvons peindre les onglets à l'intérieur de la barre de titre Windows par défaut telle qu'elle est peinte par le système d'exploitation. Cela variera d’une version Windows à l’autre et dépendra également du thème Windows choisi. Ce comportement est contrôlé par la propriété AllowAero du formulaire. Définir la propriété sur false forcerait nos thèmes et le contrôle ajustera la barre de titre pour correspondre au thème du contrôle à onglets. Dans certaines situations, il peut être nécessaire de faire correspondre l'apparence standard de Windows pour que la propriété AllowAero vous couvre:
        

    this .AllowAero = true ;

Style de barre de titre Windows 10 standard

 tabbed-form-04 "title =" tabbed-form-04 "/> </pre data-recalc-dims=

Drag and Drop

Les onglets peuvent être réorganisés dans la barre de titre. Vous pouvez également les faire glisser pour créer un formulaire séparé. Le contenu de l'onglet, y compris tous les contrôles ajoutés, sera déplacé vers le nouveau formulaire. Cette opération peut être effectuée. répété plusieurs fois et l'onglet est déplacé d'une forme à une autre.

 onglet-forme-glisser-déposer "title =" onglet-forme-glisser-déposer "/> </p data-recalc-dims=

Actions rapides

Divers éléments tels que des boutons, des cases à cocher, des boutons déroulants, etc. peuvent être ajoutés avant et / ou après les onglets.

this .TabbedFormControl.LeftItems.Add ( new RadButtonElement {Text = "button1" }); // ajoute des éléments avant les tabulations

this .TabbedFormControl.RightItems.Add ( new RadButtonElement {Text = "button2" }); // ajoute des éléments après les onglets

Ces éléments peuvent également être ajoutés dans le concepteur Visual Studio.

 tabbed-form-05 "title =" tabbed-form-05 "/> [19659008]
Les collections <strong data-recalc-dims= LeftItems et RightItems sont également exposées dans la grille des propriétés du concepteur et les éléments peuvent être modifiés dans l'éditeur de collections.

 tabbed-form-06 " title = "tabbed-form-06" /></p data-recalc-dims=

Navigation

Le contrôle par onglets possède également une navigation intégrée. Les boutons de navigation apparaissent automatiquement, dès lors que les onglets ne peuvent pas tenir entièrement dans la largeur disponible. Les onglets toujours ont la même largeur et peuvent être contrôlés à l'aide des propriétés TabWidth et MinimumTabWidth . La présentation est suffisamment intelligente et, si le nombre d'onglets est augmenté, ils ne peuvent pas tenir dans le titre. Avec la largeur spécifiée, les largeurs de tous les onglets seront réduites de la même manière et les largeurs des onglets jusqu’à atteindre la valeur MinimumTabWidth spécifiée. À ce moment, les boutons de navigation deviendront visibles. 19659053] onglet-form-navigation-navigation "ti tle = "tabbed-form-navigation" />

Éléments épinglés

Les onglets peuvent être épinglés à gauche ou à droite de la barre de titre. Une fois dépouillé, l'onglet reviendra à sa dernière position.

this .TabbedFormControl.Tabs [0] .Item.IsPinned = true ;

 tabbed-form-07 "title = "tabbed-form-07" /></p data-recalc-dims=

Menu contextuel

Le contrôle par onglets comporte également un menu contextuel intégré entièrement localisable.

 tabbed-form-08 "title =" tabbed-form-08 "/></p data-recalc-dims=

Les éléments affichés dans le menu peuvent être personnalisés dans l'événement RadTabbeFormControl.ContextMenuOpening.

private void TabbedFormControl_ContextMenuOpening ( objet expéditeur, RadTabbedFormControlItemConextMenuOpeningEventArgs e = "Onglet 1" )

{

// supprimer le premier élément





Source link