Fermer

décembre 29, 2020

RadTaskDialog arrive dans l'interface utilisateur Telerik pour WinForms Suite


Apprenez à utiliser le nouveau contrôle RadTaskDialog dans Telerik UI pour WinForms pour aider vos utilisateurs de plusieurs manières.

Avec la version R3 2020 de Telerik UI pour WinForms nous avons ajouté un nouveau RadTaskDialog composant à la suite. Une boîte de dialogue de tâche est une petite fenêtre qui affiche des informations aux utilisateurs et les invite à répondre. Par rapport à une boîte de message ordinaire, la boîte de dialogue des tâches a de nombreuses options de configuration, peut afficher des éléments d'interface utilisateur supplémentaires tels que des boutons radio et une barre de progression, et prend en charge la gestion des événements. alternative thématique de la boîte de dialogue Windows et du nouveau TaskDialog pour .NET 5. La boîte de dialogue est une fenêtre qui permet aux utilisateurs d'exécuter une commande, de poser une question aux utilisateurs, de fournir des informations aux utilisateurs ou d'indiquer la progression d'une tâche en cours. RadTaskDialog représente une version étendue de System.Windows.Forms.MessageBox standard et respectivement de RadMessageBox. Comparé à une boîte de message standard, il peut afficher des commandes supplémentaires comme une barre de progression et prend en charge la gestion des événements.

Caractéristiques

  • Taille automatique: La taille de la fenêtre est basée sur le contenu ajouté à la page.
  • Pagination: permet de naviguer vers une nouvelle page (en reconstruisant la boîte de dialogue à partir des propriétés actuelles). La boîte de dialogue de tâche peut agir comme un petit assistant avec plusieurs pages. Microsoft recommande de ne pas utiliser plus de trois pages.
  • Éléments pris en charge: la boîte de dialogue des tâches prend en charge un large éventail d'éléments prédéfinis (tels que les boutons plats, les boutons normaux, la barre de progression, la barre d'attente, les boutons radio, la case à cocher, le bouton d'extension, la zone d'extension , pied de page) qui peuvent être attribués et seront automatiquement arrangés sans avoir besoin d'écrire de logique de mise en page.
  • Icônes: En plus des icônes standard qui indiquent Erreur, Avertissement, Information, la boîte de dialogue de tâche a vert, jaune, rouge, barre grise ou bleue sur tout le fond du titre / titre. De plus, les icônes et images personnalisées sont également prises en charge par défaut.
  • Modal vs Non-Modal: Peut être affiché modal ou non-modal, via ShowDialog ou les méthodes Show.
  • Localisation: Localisation pour chacun des chaînes prédéfinies.
  • Thème: plus de 25 thèmes prédéfinis.
  • Personnalisation: RadTaskDialog peut être construit en fonction des exigences spécifiques que vous devez couvrir et permet d'ajouter ou de supprimer des éléments et de personnaliser l'un des éléments prédéfinis. [19659015] Il a un élément principal qui contient toutes les informations utilisateur nécessaires & mdash; le RadTaskDialogPage. Le RadTaskDialogPage expose quelques propriétés utiles qui vous permettent de configurer une boîte de dialogue entière avec juste quelques lignes de code:

    • Légende: Le texte dans la barre de titre du RadTaskDialogForm lorsque cette page est affichée.
    • Icône: Livré avec des images vectorielles et peut afficher une barre verte, rouge, jaune, bleue ou grise comme arrière-plan de l'en-tête.
    • Titre: En-tête / titre de la page.
    • Texte: Affiche des informations descriptives à propos de l'objectif de la boîte de dialogue.
    • ProgressBar: Utilisé pour indiquer une progression déterminée ou indétéminée.
    • RadioButtons: Une collection de boutons radio qui permet aux utilisateurs de choisir parmi différentes options.
    • ContentAreaButtons: Une collection de boutons plats qui sont affichés dans la partie supérieure de la boîte de dialogue. Ces boutons sont plats et comportent trois éléments principaux: les textes d'icônes, d'en-tête et de description.
    • Expander: définit le texte des détails / description, qui peut être réduit à l'aide d'un bouton bascule.
    • Vérification: une case à cocher peut être utilisée pour recevoir la confirmation de l'utilisateur.
    • CommandAreaButtons: Une collection de boutons réguliers affichés dans la partie inférieure de la page.
    • Note de bas de page: pour des explications et une aide supplémentaires facultatives, généralement destinées aux utilisateurs moins expérimentés.

    Utilisation

    Après avoir décrit les principales fonctionnalités de la boîte de dialogue, il est temps de montrer quelques cas d'utilisation. Mais avant cela, nous devons clarifier deux choses importantes:

    • RadTaskDialog a besoin d'un RadTaskDialogPage comme paramètre à afficher.
    • RadTaskDialog ne renvoie pas un System.Windows.Forms.DailogResult (comme le MessageBox), mais l'instance de la bouton sur lequel l'utilisateur a cliqué.

    Voici un exemple de cas lors d'un déplacement de fichier PDF. L'utilisateur doit décider de remplacer le fichier d'origine, d'annuler ou de conserver les deux fichiers.

     task-dialog-blog-use-case-1 "title =" task-dialog-blog-use-case-1 "> [19659033] Et voici le code. Comme vous pouvez le voir, la plupart des lignes sont utilisées pour configurer les boutons de lien de commande:</p data-recalc-dims=

    RadTaskDialogPage page = new RadTaskDialogPage ()
    {
    & nbsp; & nbsp; ; & nbsp; & nbsp; SizeToContent = true
    & nbsp; & nbsp; & nbsp; & nbsp; Icon = RadTaskDialogIcon.ShieldBlueBar,
    & nbsp; & nbsp; & nbsp; 19659035] Caption = "Déplacer le fichier"
    & nbsp; & nbsp; & nbsp; & nbsp; Heading = "Il existe déjà un fichier du même nom à cet emplacement." [19659035]
    & nbsp; & nbsp; & nbsp; & nbsp; Text = "Cliquez sur le fichier que vous souhaitez conserver"
    & nbsp; & nbsp; & nbsp; & nbsp; CommandAreaButtons = {
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; RadTaskDia logButton.Cancel
    & nbsp; & nbsp; & nbsp; & nbsp; },
    & nbsp; & nbsp; & nbsp; & nbsp; AllowCancel = true
    & nbsp; & nbsp; & nbsp; & nbsp; UseWideContentArea = true
    };
    RadSvgImage pdfIcon = RadSvgImage.FromFile (@ ".. .. Resources file-pdf.svg" );
    pdfIcon.Size = nouveau Taille (50, 50);
    RadTaskDialogCommandLinkButton moveButton = nouveau RadTaskDialogCommandLinkButton (
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 19659035] "Déplacer et remplacer"
    & nbsp; & nbsp; & nbsp; & nbsp; @ "Remplacez le fichier dans le dossier de destination par le fichier que vous déplacez:" + Environnement .NewLine +
    & nbsp; & nbsp; & nbsp; & nbsp; "document.pdf" + Environment.NewLine + "Size: 275 KB" + Environment.NewLine + "Date de modification: 11.11.2018 12:45" );
    moveButton.SvgImage = pdfIcon; [19659037] page.ContentAreaButtons.Add (moveButton);
    RadTaskDialogCommandLinkButton dontMoveButton = nouveau RadTaskDialogCommandLinkButton (
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 196535 " 19659037] & nbsp; & nbsp; & nbsp; & nbsp; @ "Remplacez le fichier dans le dossier de destination par le fichier que vous déplacez:" + Environment.NewLine +
    & nbsp; & nbsp; & nbsp; & nbsp; "document.pdf" + Environment.NewLine + "Size: 275 KB" + Environment.NewLine + "Date de modification: 11.11.2018 12:45" [19659035]);
    dontMoveButton.SvgImage = (RadSvgImage) pdfIcon.Clone ();
    page.ContentAreaButtons.Add (dontMoveButton);
    RadTaskDialogCommandLinkButton keepBothButton =
    nouveau RadTaskDialogCommandLinkButton keepBothButton =
    & nbsp; & nbsp; & nbsp; & nbsp; "Déplacer, mais conserver les deux fichiers"
    & nbsp; & nbsp; & nbsp; & nbsp; "Le fichier que vous déplacez sera renommé 'document (2 ) .pd f '");
    page.ContentAreaButtons.Add (keepBothButton);
    RadTaskDialogButton clickedButton = RadTaskDialog.ShowDialog (page);
    if (clickedButton == null ] || clickedButton == RadTaskDialogButton.Cancel)
    {
    & nbsp; & nbsp; & nbsp; & nbsp; // l'utilisateur a annulé l'action
    }
    else if (clickedButton = = moveButton)
    {
    & nbsp; & nbsp; & nbsp; & nbsp; // déplacer et remplacer
    }
    else if (clickedButton == dontMoveButton)
    {
    & nbsp; & nbsp; & nbsp; & nbsp; // ne pas déplacer
    }
    else if (clickedButton == keepBothButton)
    {
    & nbsp; & nbsp; & nbsp; & nbsp; // déplacer et conserver les deux fichiers
    }

    Un autre cas intéressant est celui où vous devez créer une boîte de dialogue de plusieurs pages. Pour parcourir les pages, il vous suffit d'appeler la méthode Navigate de RadTaskDialogPage actuellement affichée.

    Voici un exemple d'installation d'imprimante:

     task-dialog-blog-use-case-2 "title =" task-dialog-blog-use-case-2 "></p data-recalc-dims=

    RadTaskDialogButton initialButtonYes = RadTaskDialogButton.Continue ;
    initialButtonYes.Enabled = false ;
    initialButtonYes.AllowCloseDialog = false ;
    RadTaskDialogPage initialPage = new
    RadTaskDialogP
    RadTaskDialogPage
    {
    & nbsp; & nbsp; & nbsp; & nbsp; Caption = "Installation matérielle"
    & nbsp; & nbsp; & nbsp; & nbsp; Heading = "Avertissement d'installation "
    & nbsp; & nbsp; & nbsp; & nbsp; Text = " Le logiciel que vous installez pour ce matériel: nImprimantes nn'a pas réussi le test du logo Windows pour vérifier sa compatibilité avec Windows "
    & nbsp; & nbsp; & nbsp; & nbsp; Icon = RadTaskDialogIcon.ShieldWarningYellowBar,
    & nbsp; & nbsp; & nbsp; & nbsp; AllowCancel = AllowCancel = ue
    & nbsp; & nbsp; & nbsp; & nbsp; Verification = nouveau RadTaskDialogVerificationCheckBox ()
    & nbsp; & nbsp; & nbsp; & nbsp;
    & nbsp; & nbsp; & nbsp;
    ; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Text = "Installer quand même"
    & nbsp; & nbsp; & nbsp; & nbsp; },
    & nbsp; & nbsp; & nbsp; & nbsp; CommandAreaButtons =
    & nbsp; & nbsp; & nbsp; & nbsp; {
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; initial ] & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; RadTaskDialogButton.Cancel
    & nbsp; & nbsp; & nbsp; & nbsp; },
    & nbsp; },
    & nbsp; & nbsp; DefaultButton = RadTaskDialogButton.Cancel
    };
    RadTaskDialogPage inProgressPage = nouveau RadTaskDialogPage ()
    {
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 19659035] «Installation matérielle»
    & nbsp; & nbsp; & nbsp; & nbsp; Headin g = "Installation en cours ..."
    & nbsp; & nbsp; & nbsp; & nbsp; Text = "Veuillez patienter pendant que l'installation est en cours." ,
    & nbsp; & nbsp; & nbsp; & nbsp; Icon = RadTaskDialogIcon.Information,
    & nbsp; & nbsp; & nbsp; & nbsp; ProgressBar = new [1965379036] RadTaskDarog] & nbsp; & nbsp; & nbsp; & nbsp; {
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; State = RadTaskDialogProgressBarState. & nbsp; & nbsp; State = RadTaskDialogProgressBarState. & nbsp; & nbsp; 196590 },
    & nbsp; & nbsp; & nbsp; & nbsp; Expander = nouveau RadTaskDialogExpander ()
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {[196590] ; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Text = "Initialisation ..."
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Position = RadTaskDialogExpanderPosition.AfterFootnote
    & nbsp; & nbsp; & nbsp; & nbsp; }, [19659070] & nbsp; & nbsp; & nbsp; & nbsp; CommandAreaButtons =
    & nbsp; & nbsp; & nbsp; & nbsp; {
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp & nbsp; & nbsp; & nbsp; & nbsp; ; RadTaskDialogButton.Cancel
    & nbsp; & nbsp; & nbsp; & nbsp; }
    };
    RadTaskDialogPage finishPage = new RadTaskDialogPage ()
    & nbsp; & nbsp; & nbsp; & nbsp; Caption = "Installation matérielle"
    & nbsp; & nbsp; & nbsp; & nbsp; Heading = "Success!" ,
    & nbsp; & nbsp; & nbsp; & nbsp; Text = "L'installation de l'imprimante s'est terminée avec succès."
    & nbsp; & nbsp; & nbsp; & nbsp; Icon = RadTaskDialogIcon. ShieldSuccessGreenBar,
    & nbsp; & nbsp; & nbsp; & nbsp; CommandAreaButtons =
    & nbsp; & nbsp; & nbsp; & nbsp; {
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; nouveau RadTaskDialogButton ( "Finish" ) [19659037] & nbsp; & nbsp; & nbsp; & nbsp; }
    };
    RadTaskDialogVerificationCheckBox checkBox = initialPage.Verification;
    checkBox.CheckedChanged + = (expéditeur, e) = & gt; [196590] 19659037] & nbsp; & nbsp; & nbsp; & nbsp; initialButtonYes.Enabled = checkBox.Checked;
    };
    initialButtonYes.Click + = (expéditeur, e) = & gt;
    {
    & nbsp ; & nbsp; & nbsp; & nbsp; initialPage.Navigate (inProgressPage);
    };
    inProgressPage.Created + = delegate ( object s, EventArgs e)
    {
    & nbsp; & nbsp; & nbsp; & nbsp; RadTaskDialogProgressBar progressBar = inProgressPage.ProgressBar;
    & nbsp; & nbsp; & nbsp; & nbsp; nouveau Timer Timer Timer ();
    & nbsp; & nbsp; & nbsp; & nbsp; timer.Interval = 2800;
    & nbsp; & nbsp; & nbsp; & nbsp; int progressValue = 0;
    & nbsp; & nbsp; & nbsp; & nbsp; timer.Start ();
    & nbsp; & nbsp; & nbsp; & nbs p; timer.Tick + = delegate ( object sender, EventArgs args)
    & nbsp; & nbsp; & nbsp; & nbsp; {
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; timer.Interval = 40;
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; progressBar.State == RadTaskDialogProgressBarState.Marquee)
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {
    & nbsp; & nbsp; & nbsp & nbsp & nbsp; & nbsp; ; & nbsp; & nbsp; & nbsp; & nbsp; progressBar.State = RadTaskDialogProgressBarState.Normal;
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp} & nbsp; & nbsp; & nbsp; & nbsp} [196590] & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; progressBar.Value = progressValue;
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsprog; & nbsp; [19659035inpresseexp19659035] string .Format ( "Progression de l'installation: {0}%" progressValue);
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; if (progressValue == 100)
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; {
    & nbsp; {
    & nbsp; {
    & nb; ; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; minuterie.Stop ();
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ; & nbsp; & nbsp; & nbsp; timer.Dispose ();
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [19659035inPavigate] finishPage);
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; }
    & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Progrès de 19659035 & nbsp;
    & nbsp; & nbsp; & nbsp; & nbsp; };
    };

    Enfin, nos concepteurs ont également créé trois ensembles différents d'icônes vectorielles: dégradé, plat et blanc:

     TaskDialog-Icons "title =" TaskDialog-Icons "></p data-recalc-dims=

    Nous avons ajouté trois méthodes différentes qui renvoient différents formats et tailles en fonction de nos besoins internes. Pour accéder à ces images, vous pouvez utiliser le code suivant:

    // Renvoie une image vectorielle
    RadSvgImage svgIcon = RadTaskDialogIcon.GetSvgImage (RadTaskDialogIconImage.FlatShieldQuestion);
    // Renvoie une image raster de taille 16x16px
    Image smallIcon = RadTaskDialogIcon.GetSmallImage (RadTaskDialogIconImage.FlatShieldQuestion);
    // Renvoie une image raster de taille 26x26px
    Image largeIcon = RadTaskDialogIcon.GetLargeImage (RadTaskDialogIconImage) [196593OutShieldQuestion)pourtéléchargeretessayerladernièreversionde Telerik UI pour WinForms & nbsp; pour explorer toutes les nouvelles fonctionnalités et thèmes. Les clients peuvent obtenir les dernières versions de leur compte ou vous pouvez commencer un essai gratuit dès aujourd'hui: & nbsp;

    Démarrer mon essai & nbsp;

    Nous aimerions savoir comment tout cela fonctionne pour vous, alors s'il vous plaît faites-nous part de vos commentaires en visitant notre Portail de commentaires ou en laissant un commentaire ci-dessous.




    Source link