Example #1
0
        private void showModelessTaskDialogButton_Click(object sender, EventArgs e)
        {
            var page = new TaskDialogPage
            {
                WindowTitle     = "ModalTaskDialog",
                TaskButtonStyle = TaskDialogTaskButtonStyle.CommandLink,
            };

            var showDialogButton = new TaskButton("Show Dialog.");

            showDialogButton.Click += (_, tbe) =>
            {
                new Form1().ShowDialog();
                tbe.CancelDialogClose = true;
            };

            var showFormButton = new TaskButton("Show Form.");

            showFormButton.Click += (_, tbe) =>
            {
                new Form1().Show();
                tbe.CancelDialogClose = true;
            };

            var closeButton = new TaskButton("Close.");

            page.SetButtons(showDialogButton, showFormButton, closeButton);

            TaskDialog.ShowAsync(page);
        }
Example #2
0
        static TaskDialogPage MakeSamplePages()
        {
            var basicTaskDialogPage = new TaskDialogPage
            {
                WindowTitle         = "Samples",
                MainInstructionText = "Select sample",
                TaskButtonStyle     = TaskDialogTaskButtonStyle.CommandLink,
                MainIcon            = TaskDialogIcon.FromHIcon(StockIcons.UsersLarge.Handle),
                ProgressBar         = TaskDialogProgressBarType.Marquee,
            };

            var radioTaskDialogPage = new TaskDialogPage
            {
                WindowTitle     = "Samples Of Radio",
                TaskButtonStyle = TaskDialogTaskButtonStyle.CommandLink,
            };

            var progressTaskDialogPage = new TaskDialogPage
            {
                WindowTitle     = "Samples Of Progress",
                TaskButtonStyle = TaskDialogTaskButtonStyle.CommandLink,
                ProgressBar     = TaskDialogProgressBarType.Default,
            };

            var autoCloseTaskDialogPage = new TaskDialogPage
            {
                WindowTitle = "Auto Close Dialog",
                ProgressBar = TaskDialogProgressBarType.Default,
            };

            var ultimateTaskDialogPage = new TaskDialogPage
            {
                WindowTitle             = "Full Sample",
                AllowDialogCancellation = true,
                MainIcon             = TaskDialogIcon.Error,
                FooterIcon           = TaskDialogIcon.Error,
                CanBeMinimized       = true,
                ExpandedByDefault    = true,
                CollapsedControlText = "Collapsed",
                ExpandedControlText  = "Expanded",
                ContentText          = "Here is contet text.\nYou can use <A HREF=\"http://www.googole.co.jp/\">hyperlink</A>.",
                EnableHyperLinks     = true,
                CommonButtons        = TaskDialogCommonButtonFlags.Ok
                                       | TaskDialogCommonButtonFlags.Yes
                                       | TaskDialogCommonButtonFlags.Retry
                                       | TaskDialogCommonButtonFlags.No
                                       | TaskDialogCommonButtonFlags.Close
                                       | TaskDialogCommonButtonFlags.Cancel,
                ExpandedInformationText = "Here is expanded Information.\nYou can use <A HREF=\"http://www.googole.co.jp/\">hyperlink</A>.",
                ExpandFooterArea        = true,
                FooterText          = "Here is fotter text.",
                MainInstructionText = "Here is main instruction text.",
                ProgressBar         = TaskDialogProgressBarType.Default,
                VerificationText    = "Here is verificaion text.",
                TaskButtonStyle     = TaskDialogTaskButtonStyle.CommandLink,
                VerificationFlagCheckedByDefault = true,
                NoDefaultRadioButton             = true,
            };

            var buttonStyle     = new TaskButton("Use Button Style Command Links.");
            var commandStyle    = new TaskButton("Use CommanLink Style Command Links.");
            var noiconStyle     = new TaskButton("Use NoIconCommandLink Style Command Links.");
            var radioSample     = new TaskButton("Sample Of Radio.");
            var progressSample  = new TaskButton("Sample Of Progress.");
            var ultimateSample  = new TaskButton("Ultimate Sample.");
            var autoCloseSample = new TaskButton("Auto close Sample.");
            var modalSample     = new TaskButton("Modal TaskDialog Sample.");
            var modelessSample  = new TaskButton("Modeless TaskDialog Sample.");
            var close           = new TaskButton("Close");

            var radio1 = new TaskRadioButton("Radio1");
            var radio2 = new TaskRadioButton("Radio2");
            var radio3 = new TaskRadioButton("Radio3");


            var progressNormal = new TaskRadioButton("None");
            var progressError  = new TaskRadioButton("Error");
            var progressPause  = new TaskRadioButton("Pause");

            var disableButton = new TaskButton("dummy");

            basicTaskDialogPage.SetButtons(
                buttonStyle,
                commandStyle,
                noiconStyle,
                radioSample,
                progressSample,
                autoCloseSample,
                ultimateSample,
                modalSample,
                modelessSample,
                close);

            radioTaskDialogPage.SetRadioButtons(radio1, radio2, radio3);
            radioTaskDialogPage.SetButtons(commandStyle);

            progressTaskDialogPage.SetRadioButtons(progressNormal, progressError, progressPause);
            progressTaskDialogPage.SetButtons(commandStyle);

            autoCloseTaskDialogPage.SetButtons(disableButton);

            radioTaskDialogPage.SetRadioButtons(radio1, radio2, radio3);
            ultimateTaskDialogPage.SetButtons(commandStyle);


            buttonStyle.Click += (_, ev) =>
            {
                ev.CancelDialogClose = true;

                var navigatePage = MakeSamplePages();
                navigatePage.TaskButtonStyle = TaskDialogTaskButtonStyle.Default;
                ev.ActiveTaskDialog.Navigate(navigatePage);
            };
            commandStyle.Click += (_, ev) =>
            {
                ev.CancelDialogClose = true;

                var navigatePage = MakeSamplePages();
                navigatePage.TaskButtonStyle = TaskDialogTaskButtonStyle.CommandLink;
                ev.ActiveTaskDialog.Navigate(navigatePage);
            };
            noiconStyle.Click += (_, ev) =>
            {
                ev.CancelDialogClose = true;

                var navigatePage = MakeSamplePages();
                navigatePage.TaskButtonStyle = TaskDialogTaskButtonStyle.NoIconCommandLink;
                ev.ActiveTaskDialog.Navigate(navigatePage);
            };
            radioSample.Click += (_, ev) =>
            {
                ev.CancelDialogClose = true;
                ev.ActiveTaskDialog.Navigate(radioTaskDialogPage);
            };
            progressSample.Click += (_, ev) =>
            {
                ev.CancelDialogClose = true;
                ev.ActiveTaskDialog.Navigate(progressTaskDialogPage);
            };
            autoCloseSample.Click += (_, ev) =>
            {
                ev.CancelDialogClose = true;
                ev.ActiveTaskDialog.Navigate(autoCloseTaskDialogPage);
            };
            ultimateSample.Click += (_, ev) =>
            {
                ev.CancelDialogClose = true;
                ev.ActiveTaskDialog.Navigate(ultimateTaskDialogPage);
            };
            modalSample.Click += (_, ev) =>
            {
                ev.CancelDialogClose = true;
                var modalTaskDialog = new TaskDialog(MakeSamplePages());
                modalTaskDialog.DoModal(ev.ActiveTaskDialog.Handle);
            };
            modelessSample.Click += async(_, ev) =>
            {
                ev.CancelDialogClose = true;
                var modelessTaskDialog = new TaskDialog(MakeSamplePages());
                await modelessTaskDialog.ShowAsync();
            };

            var large = StockIcons.ErrorLarge;
            var small = StockIcons.ErrorSmall;


            TaskDialogProgressBarState barState = TaskDialogProgressBarState.Normal;

            progressNormal.Click += (_, ev) =>
            {
                barState = TaskDialogProgressBarState.Normal;
                ev.ActiveTaskDialog.SetProgressBarState(barState);
            };
            progressError.Click += (_, ev) =>
            {
                barState = TaskDialogProgressBarState.Error;
                ev.ActiveTaskDialog.SetProgressBarState(barState);
            };
            progressPause.Click += (_, ev) =>
            {
                barState = TaskDialogProgressBarState.Pause;
                ev.ActiveTaskDialog.SetProgressBarState(barState);
            };
            progressTaskDialogPage.Load += (_, ev) =>
            {
                ev.ActiveTaskDialog.SetProgressBarRange(0, 10000);
            };
            progressTaskDialogPage.Timer += (_, ev) =>
            {
                if (barState == TaskDialogProgressBarState.Normal)
                {
                    ev.ActiveTaskDialog.SetProgressBarPos((int)(ev.TickCount % 10000));
                }
            };

            autoCloseTaskDialogPage.Load += (_, ev) =>
            {
                ev.ActiveTaskDialog.SetProgressBarRange(0, 4000);
                ev.ActiveTaskDialog.EnableButton(disableButton, false);
            };
            autoCloseTaskDialogPage.Timer += (_, ev) =>
            {
                ev.ActiveTaskDialog.SetProgressBarPos((int)Math.Min(4000, ev.TickCount));

                if (ev.TickCount > 4000)
                {
                    ev.ActiveTaskDialog.ForceCancelClose();
                }
            };

            ultimateTaskDialogPage.HyperlinkClicked += (_, ev) =>
            {
                MessageBox.Show(ev.Href);
            };
            ultimateTaskDialogPage.Load += (_, ev) =>
            {
                ev.ActiveTaskDialog.SetProgressBarRange(0, 10000);
            };
            ultimateTaskDialogPage.Timer += (_, ev) =>
            {
                ev.ActiveTaskDialog.SetProgressBarPos((int)(ev.TickCount % 10000));
            };

            return(basicTaskDialogPage);
        }