Passer au contenu du pied de page
Iron Academy Logo
Application C#
Application C#

Autres catégories

Panneaux de contenu et listes d'appel - Série Spectre Console

Tim Corey
7m 51s

Spectre.Console est un package NuGet qui permet aux développeurs .NET de créer des applications de console visuellement riches. Dans sa série Spectre Console, Tim Corey montre comment utiliser des fonctionnalités telles que des invites interactives, des tableaux, des affichages de progression et bien plus encore pour transformer une simple fenêtre de console en quelque chose de beaucoup plus professionnel.

Dans cet article, nous examinerons plus en détail la fonction Panneau de la console Spectre en parcourant la vidéo de Tim Corey "Content Panels and Callouts - Spectre Console Series" À l'aide des exemples de Tim, nous verrons comment créer des panneaux, explorer leurs fonctionnalités et afficher des données dans différents styles, le tout dans l'espace disponible de la console.

Création d'un panneau de console Spectre de base

Tim commence la vidéo (0:00) en nous rappelant que Spectre.Console vous permet de transformer vos applications de console C# en applications visuellement attrayantes et informatives. Dans cette leçon (0:15), nous allons créer des panneaux, qui peuvent faire office de simples appels à l'aide ou même de mini-tableaux, selon vos besoins.

À 0:34, Tim écrit un exemple directement dans Visual Studio. Il montre comment créer une nouvelle instance d'un panneau :

var panel = new("Tim Corey");
AnsiConsole.Write(panel);
var panel = new("Tim Corey");
AnsiConsole.Write(panel);

Il note (0:47) que AnsiConsole.Write() accepte un objet à rendre - et puisqu'un Panel implémente IRenderable, il s'intègre parfaitement. L'exécution du code à 1:02 affiche un simple cadre autour du texte "Tim Corey" Même ce petit espace peut être utile pour rappeler une note, mettre en évidence une invite ou séparer les entrées de l'utilisateur des autres sorties de la console.

Spectre Console Content Panels Callouts 1 related to Création d'un panneau de console Spectre de base

Exploration des fonctionnalités du panneau : Les bordures et le remplissage

Tim passe ensuite à la démonstration des fonctionnalités du panneau. À 1:22, il modifie le style de la bordure :

panel.Border = BoxBorder.Rounded;
panel.Border = BoxBorder.Rounded;

Le panneau est ainsi doté d'une bordure arrondie, l'un des différents styles disponibles. Il note que vous pouvez également choisir une double bordure ou d'autres options pour correspondre à vos thèmes de code couleur personnalisés ou à des accents bleus et verts.

À 1:42, Tim ajuste le rembourrage à l'intérieur du panneau :

panel.Padding = new(2, 0);
panel.Padding = new(2, 0);

Il explique (2:16) que le remplissage dans la console n'est pas comme les pixels sur le web - il est basé sur la largeur des caractères et les retours à la ligne. Un grand nombre comme 5 crée un grand panneau qui remplit une grande partie de l'espace disponible. Il compte l'espace pour démontrer le fonctionnement du rembourrage (2:35).

Cette capacité à ajuster l'espace autour du contenu vous permet de concevoir des panneaux qui correspondent à votre mise en page, que vous affichiez un tableau var, un diagramme à barres ou toute autre donnée.

Ajouter un en-tête et personnaliser les styles

À 3:37, Tim ajoute un en-tête au panneau :

panel.Header("My Name");
panel.Header("My Name");

Lorsqu'il exécute le code à 3:51, le titre apparaît dans la bordure. Mais elle se heurte de plein fouet au contenu. Il corrige ce problème (4:04) en modifiant le remplissage :

panel.Padding = new (1, 0);
panel.Padding = new (1, 0);

Cela crée un petit espace entre l'en-tête et le texte. Tim souligne (4:16) que l'utilisation d'en-têtes et d'espacements vous permet d'étiqueter clairement vos panneaux, ce qui est utile lorsque vous montrez la progression d'une tâche, un affichage en direct ou même une tâche de longue durée avec une barre de progression affichée.

Afficher des listes à l'intérieur d'un panneau

Tim montre ensuite comment placer une liste de chaînes dans un panneau. À 4:26, il apporte une liste de noms provenant d'une leçon précédente et montre comment la réunir en une seule chaîne :

string panelInfo = string.Join('\n', names);
var panel = new Panel(panelInfo)
    .Header("Default Names");
string panelInfo = string.Join('\n', names);
var panel = new Panel(panelInfo)
    .Header("Default Names");

Cela permet de réduire la liste en une seule chaîne avec des sauts de ligne (5:02). Running it (5:28) affiche la liste proprement à l'intérieur du panneau, chaque élément sur sa propre ligne. Cette technique permet de présenter des données ou des propriétés d'objets de manière fortement typée, mais sous forme de texte.

Spectre Console Content Panels Callouts 2 related to Afficher des listes à l'intérieur d'un panneau

Tim souligne également (5:44) que vous pouvez utiliser le balisage de texte riche pour ajouter des couleurs personnalisées à des éléments spécifiques. Par exemple :

"[red]Bilbo Baggins[/]"
"[red]Bilbo Baggins[/]"

Ceci montre comment un panneau de console Spectre peut gérer non seulement des chaînes simples, mais aussi du contenu stylisé, permettant des thèmes, du texte en gras ou des éléments codés en couleur.

Spectre Console Content Panels Callouts 3 related to Afficher des listes à l'intérieur d'un panneau

Centrer le contenu avec le balisage et les objets restituables

À 6:19, Tim répond à la question de savoir comment centrer le contenu. Une simple chaîne de caractères n'est pas suffisante. En revanche, vous devez utiliser un objet à rendre. Il fait une démonstration (6:34) :

Panel panel = new(new Markup(panelInfo).Centered());
Panel panel = new(new Markup(panelInfo).Centered());

Cette opération convertit la chaîne en une balise, appelle la fonction .Centered() et l'affecte au panneau. L'exécution du code (7:01) montre que tous les noms sont centrés. Ceci est particulièrement utile si vous créez un nouveau tableau, un nouveau diagramme à barres ou tout autre contrôle interactif et que vous souhaitez que le contenu soit aligné horizontalement dans l'espace disponible.

Spectre Console Content Panels Callouts 4 related to Centrer le contenu avec le balisage et les objets restituables

Tim note également (7:07) que les panneaux sont IRenderable, ce qui permet de les imbriquer dans des tableaux ou d'autres panneaux. Cela permet de construire des affichages composites : par exemple, un panneau contenant une invite, un tableau var et un diagramme à barres côte à côte, ou l'utilisation de panneaux pour montrer la progression des fichiers pour différentes tâches.

Les panneaux comme éléments de construction des applications en console

En conclusion (7:14), Tim rappelle que les panneaux sont IRenderable, ce qui signifie que vous pouvez les insérer partout où Spectre.Console attend un objet pouvant être rendu, que ce soit à l'intérieur de tableaux, d'affichages en direct ou d'autres mises en page. Cette flexibilité vous permet de combiner les panneaux avec d'autres composants de Spectre.Console tels que les invites interactives, les barres de progression et les thèmes codés en couleur personnalisés pour créer des applications de console .NET sophistiquées.

Principaux enseignements de la vidéo de Tim

  • Un panneau de console Spectre est un moyen simple mais puissant de mettre en évidence le contenu, d'inviter l'utilisateur à entrer des données ou d'encadrer des données dans votre application de console.

  • Les panneaux prennent en charge différents styles : arrondi, double, en-têtes personnalisés et remplissage pour contrôler l'espace.

  • Vous pouvez afficher des listes, utiliser des balises de texte riche pour des thèmes de couleurs personnalisés et même centrer le contenu avec Markup.Centered().

  • Étant donné qu'un panneau est un objet pouvant être rendu, vous pouvez l'imbriquer dans des tableaux, le combiner avec des affichages de progression ou des diagrammes à barres, et créer des mises en page interactives complexes.

  • Tout cela est disponible simplement en installant le package NuGet et en utilisant son API fortement typée à l'intérieur de votre projet .NET ou Visual Studio.

En suivant la vidéo de Tim Corey, vous pouvez commencer à utiliser en toute confiance les panneaux Spectre.Console pour créer des expériences de console soignées et riches en données avec des en-têtes, des thèmes personnalisés et des sorties bien formatées, le tout sans quitter le monde de la console.

Hero Worlddot related to Panneaux de contenu et listes d'appel - Série Spectre Console
Hero Affiliate related to Panneaux de contenu et listes d'appel - Série Spectre Console

Gagnez plus en partageant ce que vous aimez

Vous créez du contenu pour les développeurs travaillant avec .NET, C#, Java, Python ou Node.js ? Transformez votre expertise en revenu supplémentaire !

Équipe de soutien Iron

Nous sommes en ligne 24 heures sur 24, 5 jours sur 7.
Chat
Email
Appelez-moi