//askTask("Message", "DetailsText", , "InstructionText", "Footer") public static MessageBoxResult askTask(string message, string detailsText, string instructionText, string footerText) { var sync = new AutoResetEvent(false); MessageBoxResult result = MessageBoxResult.None; O2Thread.staThread( ()=>{ var taskDialog = new TaskDialog(); taskDialog.DetailsText = detailsText; taskDialog.FooterImage = StockIcons.Information.SmallBitmapImage; taskDialog.FooterText = footerText; taskDialog.Image = StockIcons.Information.LargeBitmapImage; taskDialog.InstructionText = instructionText; taskDialog.Text = message; //TaskDialog dialog = dialog2; taskDialog.AddButton("_Accept", MessageBoxResult.Yes, StockIcons.Shield.SmallBitmapImage); taskDialog.DefaultButton = taskDialog.AddButton("_Reject", MessageBoxResult.No); result = taskDialog.ShowDialog(); sync.Set(); }); sync.WaitOne(); return result; }
/// <summary> /// Affiche un message d'erreur avec le texte, l'instruction principale, la légende de barre de titre, les boutons, l'icône et le résultat par défaut spécifiés. /// </summary> /// <param name="owner">Fenêtre qui représente le propriétaire de cette boîte de dialogue.</param> /// <param name="text">Texte du message.</param> /// <param name="instructionText">Texte de l'instruction principale.</param> /// <param name="caption">Texte à afficher dans la barre de titre du message.</param> /// <param name="buttons">Boutons à afficher dans le message.</param> /// <param name="icon">Valeur énumérée spécifiant l'icône à afficher.</param> /// <param name="defaultResult">Valeur énumérée spécifiant le résultat par défaut du message.</param> /// <returns>Valeur énumérée indiquant le résultat de la boîte de dialogue, ou <see cref="MessageBoxResult.None" /> si l'utilisateur a rejeté le message.</returns> public static MessageBoxResult Show(Window owner, string text, string instructionText, string caption, MessageBoxButton buttons, MessageBoxImage icon, MessageBoxResult defaultResult) { // Construction de la boîte de dialogue var window=new TaskDialog { Owner=owner, InstructionText=instructionText, Text=text, Title=caption ?? string.Empty }; // Ajout de l'icône et d'une légende de barre de titre switch(icon) { case MessageBoxImage.Error: window.Image=StockIcons.Error.LargeBitmapImage; if(caption==null) window.Title=Messages.Error; break; case MessageBoxImage.Information: window.Image=StockIcons.Information.LargeBitmapImage; if(caption==null) window.Title=Messages.Information; break; case MessageBoxImage.Question: window.Image=StockIcons.Question.LargeBitmapImage; if(caption==null) window.Title=Messages.Question; break; case MessageBoxImage.Warning: window.Image=StockIcons.Warning.LargeBitmapImage; if(caption==null) window.Title=Messages.Warning; break; } // Ajout des boutons Button button; if(buttons==MessageBoxButton.OK || buttons==MessageBoxButton.OKCancel) { button=window.AddButton(Messages.OkButton, MessageBoxResult.OK, StockIcons.Accept.SmallBitmapImage); if(defaultResult==MessageBoxResult.OK) window.DefaultButton=button; } if(buttons==MessageBoxButton.YesNo || buttons==MessageBoxButton.YesNoCancel) { button=window.AddButton(Messages.YesButton, MessageBoxResult.Yes, StockIcons.Accept.SmallBitmapImage); if(defaultResult==MessageBoxResult.Yes) window.DefaultButton=button; button=window.AddButton(Messages.NoButton, MessageBoxResult.No, StockIcons.Delete.SmallBitmapImage); if(defaultResult==MessageBoxResult.No) window.DefaultButton=button; } if(buttons==MessageBoxButton.OKCancel || buttons==MessageBoxButton.YesNoCancel) { button=window.AddButton(Messages.CancelButton, MessageBoxResult.Cancel, StockIcons.Cancel.SmallBitmapImage); window.CancelButton=button; if(defaultResult==MessageBoxResult.Cancel) window.DefaultButton=button; } // Exécution de la boîte de dialogue return window.ShowDialog(); }