private void ComplexTDClicked(object sender, RoutedEventArgs e) { taskDialog = FindTaskDialog("complexTD"); bar = (TaskDialogProgressBar)taskDialog.Controls["ProgressBar"]; taskDialog.ExpandedText += " Link: <A HREF=\"Http://www.microsoft.com\">Microsoft</A>"; taskDialog.Show(); }
private static DialogResult Show(Guid id, string title, string instruction, string message, TaskDialogStandardButtons buttons, TaskDialogStandardIcon icon, string details, int progressBarMaxValue, Action <int> tickEventHandler) { TaskDialogProgressBar progressBar = progressBarMaxValue < 0 ? null : new TaskDialogProgressBar(0, progressBarMaxValue, 0) { State = progressBarMaxValue == 0 ? TaskDialogProgressBarState.Marquee : TaskDialogProgressBarState.Normal }; APITaskDialog taskDialog = new APITaskDialog() { Caption = title, InstructionText = instruction, Text = message, Icon = icon, StandardButtons = buttons, Cancelable = true, ExpansionMode = TaskDialogExpandedDetailsLocation.ExpandFooter, DetailsExpanded = false, DetailsCollapsedLabel = "Show Details", DetailsExpandedLabel = "Hide Details", DetailsExpandedText = details, ProgressBar = progressBar, StartupLocation = TaskDialogStartupLocation.CenterOwner, OwnerWindowHandle = NativeMethods.GetActiveWindow() }; Action <object, TaskDialogTickEventArgs> internalTickEventHandler = null; if (tickEventHandler != null) { internalTickEventHandler = (sender, e) => tickEventHandler(e.Ticks); taskDialog.Tick += new EventHandler <TaskDialogTickEventArgs>(internalTickEventHandler); } if (id != Guid.Empty) { lock (_taskDialogs) _taskDialogs[id] = taskDialog; } DialogResult result = ConvertFromTaskDialogResult(taskDialog.Show()); if (tickEventHandler != null) { taskDialog.Tick -= new EventHandler <TaskDialogTickEventArgs>(internalTickEventHandler); } if (id != Guid.Empty) { lock (_taskDialogs) _taskDialogs.Remove(id); } return(result); }
private static void buttonProgress_Click(object sender, EventArgs e) { TaskDialog tdProgressSample = new TaskDialog(); currentTaskDialog = tdProgressSample; tdProgressSample.Cancelable = true; tdProgressSample.Caption = "Progress Sample"; progressTDProgressBar = new TaskDialogProgressBar(0, MaxRange, 0); tdProgressSample.ProgressBar = progressTDProgressBar; tdProgressSample.Tick += new EventHandler <TaskDialogTickEventArgs>(tdProgressSample_Tick); tdProgressSample.Show(); currentTaskDialog = null; }
public static TaskDialog Wait(string message = null, IWin32Window owner = null) { var dialog = new TaskDialog { Cancelable = false, Caption = MainCaption, InstructionText = message ?? "Please wait...", StandardButtons = TaskDialogStandardButtons.Cancel, OwnerWindowHandle = owner?.Handle ?? IntPtr.Zero }; var bar = new TaskDialogProgressBar { State = TaskDialogProgressBarState.Marquee }; dialog.ProgressBar = bar; return(dialog); }
public static TaskDialog CreateWaitDialog(string message, IntPtr owner) { var dialog = new TaskDialog { Cancelable = false, Caption = MainCaption, InstructionText = message ?? "Please wait...", StandardButtons = TaskDialogStandardButtons.Cancel, OwnerWindowHandle = owner }; var bar = new TaskDialogProgressBar { State = TaskDialogProgressBarState.Marquee }; dialog.ProgressBar = bar; return(dialog); }
private static void buttonProgressEffects_Click(object sender, EventArgs e) { TaskDialog tdProgressEffectsSample = new TaskDialog(); currentTaskDialog = tdProgressEffectsSample; tdProgressEffectsSample.Cancelable = true; tdProgressEffectsSample.Caption = "Progress Effects Sample"; tdProgressEffectsSample.InstructionText = "Shows a dialog with Marquee style"; TaskDialogProgressBar progressBarMarquee = new TaskDialogProgressBar(); progressBarMarquee.State = TaskDialogProgressBarState.Marquee; tdProgressEffectsSample.ProgressBar = progressBarMarquee; tdProgressEffectsSample.Show(); currentTaskDialog = null; }
static void SendFeedback() { // Send feedback dialog tdSendFeedback = new TaskDialog(); tdSendFeedback.Cancelable = true; tdSendFeedback.Caption = (string)Application.Current.TryFindResource("SendFeedbackDialog"); tdSendFeedback.Text = (string)Application.Current.TryFindResource("SendingFeedback"); // Show a progressbar sendFeedbackProgressBar = new TaskDialogProgressBar(0, 100, 0); tdSendFeedback.ProgressBar = sendFeedbackProgressBar; MailMessage msg = new MailMessage(); msg.From = new MailAddress("*****@*****.**", "LongBar Bugs Service"); msg.To.Clear(); msg.To.Add("*****@*****.**"); msg.Subject = "LongBar 2.1 Feedback"; Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly(); Version version = assembly.GetName().Version; msg.Body = "From: " + mailBox.Text + "\nComment: " + commentBox.Text + "\n-------------------------------------------------------------------" + "\nLongBar version: " + string.Format("LongBar Slate {0}.{1}.{2}.{3}", version.Major, version.Minor, version.Build, version.Revision) + "\nOS Version: " + Environment.OSVersion.ToString() + "\nException source: " + ex.Source + "\nException:\n" + ex.ToString(); System.Net.NetworkCredential cr = new System.Net.NetworkCredential("*****@*****.**", "123123"); client.SendCompleted += new SendCompletedEventHandler(client_SendCompleted); client.UseDefaultCredentials = false; client.Credentials = cr; client.EnableSsl = true; client.SendAsync(msg, null); tdSendFeedback.ProgressBar.State = TaskDialogProgressBarState.Marquee; tdSendFeedback.Show(); }
static void sendButton_Click(object sender, EventArgs e) { // Send feedback button TaskDialog tdSendFeedback = new TaskDialog(); tdSendFeedback.Cancelable = true; tdSendFeedback.Caption = "Send Feedback Dialog"; tdSendFeedback.Text = "Sending your feedback ....."; // Show a progressbar sendFeedbackProgressBar = new TaskDialogProgressBar(0, MaxRange, 0); tdSendFeedback.ProgressBar = sendFeedbackProgressBar; // Subscribe to the tick event, so we can update the title/caption also close the dialog when done tdSendFeedback.Tick += new EventHandler <TaskDialogTickEventArgs>(tdSendFeedback_Tick); tdSendFeedback.Show(); if (tdError != null) { tdError.Close(TaskDialogResult.Ok); } }
private PopUpMessage(RegataCoreMessages.Message msg, int autoCloseIntervalSeconds) { _tdp = new TaskDialogPage(); _tdp.Icon = _statusIcon[msg.Status]; _tdp.AllowCancel = true; _tdp.Caption = msg.Caption; _tdp.SizeToContent = true; _timer = new Timer(); _timer.Interval = 1000; _timer.Tick += _timer_Tick; FillDefaultElements(); _tdp.Heading = msg.Head; _tdp.Text = msg.Text; _tdp.Footnote = _tdf; _tdp.Expander = _tde; _tde.Text = msg.DetailedText; // autoclosing only for info or success if ((msg.Status == Status.Info || msg.Status == Status.Success) && autoCloseIntervalSeconds != 0) { _tdpbar = new TaskDialogProgressBar(); _tdpbar.Maximum = autoCloseIntervalSeconds; _tdpbar.State = TaskDialogProgressBarState.Normal; _tdp.ProgressBar = _tdpbar; _tdp.Created += (s, ev) => { _timer.Start(); }; } TaskDialog.ShowDialog(_tdp); }
private void OnComplexTaskDialog(object sender, RoutedEventArgs e) { var firstRadioButton = new TaskDialogRadioButton("Radio1", "One"); var secondRadioButton = new TaskDialogRadioButton("Radio1", "Two"); var commandLink = new TaskDialogCommandLink("Lonk1", "Information", "Sample command link"); var progressBar = new TaskDialogProgressBar("progress") { State = TaskDialogProgressBarState.Marquee }; var taskDialog = new TaskDialog { Caption = "Title", InstructionText = "Sample task dialog", StandardButtons = TaskDialogStandardButtons.Ok }; taskDialog.Controls.Add(firstRadioButton); taskDialog.Controls.Add(secondRadioButton); taskDialog.Controls.Add(commandLink); taskDialog.Controls.Add(progressBar); taskDialog.Show(); }
internal void SetProgressBarPosition(TaskDialogProgressBar progressBar, int position) { this.TaskDialogInternal.SetProgressBarPosition(progressBar, position); }
internal void SetProgressBarState(TaskDialogProgressBar progressBar, TaskDialogProgressBarState state) { this.TaskDialogInternal.SetProgressBarState(progressBar, state); }
/// <summary> /// プログレスバーの範囲を設定します。 /// </summary> /// <param name="control">プログレスバー。</param> /// <param name="minimum">プログレスバーの最小値。</param> /// <param name="maxmum">プログレスバーの最大値。</param> public void SetProgressBarRange(TaskDialogProgressBar control, int minimum, int maxmum) { this.Commands.SetProgressBarRangeCommand(minimum, maxmum); }
/// <summary> /// プログレスバーの状態を設定します。 /// </summary> /// <param name="control">プログレスバー。</param> /// <param name="state">プログレスバー状態。</param> public void SetProgressBarState(TaskDialogProgressBar control, TaskDialogProgressBarState state) { this.Commands.SetProgressBarStateCommand(state); }
internal void SetProgressBarRange(TaskDialogProgressBar progressBar, int minimum, int maximum) { this.TaskDialogInternal.SetProgressBarRange(progressBar, minimum, maximum); }
static TaskDialogPage CreatetDownloadPage() { var downloadCancellationSource = new CancellationTokenSource(); var downloadProgressBar = new TaskDialogProgressBar() { Minimum = 0, Maximum = 100, State = TaskDialogProgressBarState.Marquee, }; var cancelDownloadButton = new TaskDialogButton() { Text = "Cancel Download", }; cancelDownloadButton.Click += (s, e) => downloadCancellationSource.Cancel(); var downloadPage = new TaskDialogPage() { AllowMinimize = true, Caption = "FFmpeg missing", Heading = "Downloading FFmpeg...", Text = "We're shifting some bits around to get you ready.", ProgressBar = downloadProgressBar, Buttons = new TaskDialogButtonCollection() { cancelDownloadButton, }, // DefaultButton = None, Expander = new TaskDialogExpander() { Text = "Initializing...", CollapsedButtonText = "More status info", Position = TaskDialogExpanderPosition.AfterFootnote, }, }; downloadPage.Created += async(o, e) => { downloadPage.Expander.Text = "Fetching info..."; var url = await FFmpegFetcher.GetUrlOfLatestBinary(); if (url == null) { downloadPage.Navigate(CreateDownloadFailedPage("Unable to get link to FFmpeg download")); return; } var progress = new DialogTransferProgress(downloadPage); downloadPage.Expander.Text = "Downloading..."; try { await FFmpegFetcher.LoadAndUnzipToDirectory(FFmpegManager.FFmpegAppDataPath, url, progress, downloadCancellationSource.Token); } catch (TaskCanceledException) { // Well, it's actually not an error, but we're too lazy for a separate doaloge for this downloadPage.Navigate(CreateDownloadFailedPage("You cancelled the download.")); return; } catch (Exception ex) { Debug.WriteLine("Failed to download FFmpeg."); Debug.WriteLine(ex); downloadPage.Navigate(CreateDownloadFailedPage(ex.Message)); return; } downloadPage.Expander.Text = "Done!"; // Cross-check if downloading ffmpeg fixed the problem var path = FFmpegManager.GetAbsoluteFFmpegPath(true); if (path == null) { downloadPage.Navigate(CreateDownloadFailedPage("The download was successful, but it did not fix the issue.")); } else { downloadPage.Navigate(CreateDownloadFinishedPage()); } }; return(downloadPage); }
/// <summary> /// プログレスバーの位置を設定します。 /// </summary> /// <param name="control">プログレスバー。</param> /// <param name="position">プログレスバーの位置。</param> public void SetProgressBarPosition(TaskDialogProgressBar control, int position) { this.Commands.SetProgressBarPosCommand(position); }