Example #1
0
    	//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;
    	}
Example #2
0
		/// <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();
		}