New to Telerik UI for WinForms? Download free 30-day trial

Element Types

RadTaskDialog supports different element types that can be added to a RadTaskDialogPage which represents the main container that hosts the elements.

Before proceeding further with this article, it is recommended to get familiar with the internal structure of RadTaskDialog and how the elements are being organized: Task Dialog's Structure

You can find listed below the most common elements that are usually inserted to a RadTaskDialog:

RadTaskDialogPage

RadTaskDialogPage contains the main UI elements and defines the layout logic. Once you have built the page's content, the RadTaskDialog.ShowDialog method expects a page as an input parameter.

RadTaskDialogPage offers the following events:

  • Created - occurs when the page is added to the dialog and is about to become visible to the user.
  • Destroyed - occurs when the page is about to be unbound from the task dialog.
  • HelpRequest - occurs when the user presses F1 or clicks the “Help” standard button.

RadTaskDialogProgressBar

RadTaskDialogProgressBar displays progress information to the user.

The State property determines the mode - undetermined or determine which controls internally what element will be used - a RadProgressBarElement or a RadWaitingBarElement.

The State property is of type RadTaskDialogProgressBarState which offers the following options:

  • Normal - shows a progress bar with bar which is green.
  • Paused - shows a progress bar with bar which is yellow.
  • Error - shows a progress bar with bar which is red.
  • Marquee - shows a waiting bar in its default waiting bar style.
  • MarqueePaused - shows a waiting bar which initially looks like an empty progress bar, but also can be paused at some point.
  • None - neither progress bar, nor waiting bar is shown.

WinForms RadTaskDialogProgressBar

Adding a RadTaskDialogProgressBar

            RadTaskDialogPage page = new RadTaskDialogPage();
            page.Caption = "Window Title";
            page.Heading = "Main instruction";
            page.Text = "Main text here...";
            page.Icon = RadTaskDialogIcon.ShieldErrorRedBar;
            page.Icon.SvgImage = RadTaskDialogIcon.GetSvgImage(RadTaskDialogIconImage.FlatShieldSuccess, new Size(32, 32));

            RadTaskDialogProgressBar taskProgressBar = new RadTaskDialogProgressBar();
            taskProgressBar.Value = 30;
            taskProgressBar.State = RadTaskDialogProgressBarState.Error;
            page.ProgressBar = taskProgressBar;
            page.ProgressBar.Text = "Content";

            RadTaskDialog.ShowDialog(page);

RadTaskDialogVerificationCheckBox

RadTaskDialogVerificationCheckBox represents a check box shown in the collapsible command area of a RadTaskDialog. Appropriate for simple choices such as "Do not show this dialog again".

WinForms RadTaskDialogVerificationCheckBox

Adding a RadTaskDialogVerificationCheckBox

            RadTaskDialogPage page = new RadTaskDialogPage();
            page.Caption = "Window Title";
            page.Heading = "Main instruction";
            page.Text = "Main text here...";
            page.Icon = RadTaskDialogIcon.ShieldErrorRedBar;
            page.Icon.SvgImage = RadTaskDialogIcon.GetSvgImage(RadTaskDialogIconImage.FlatShieldSuccess, new Size(32, 32));

            RadTaskDialogVerificationCheckBox verificationCheck = new RadTaskDialogVerificationCheckBox();
            verificationCheck.Text = "Verification";
            verificationCheck.CheckStateChanged += new EventHandler(delegate(object sender, EventArgs e) { RadMessageBox.Show(verificationCheck.CheckState.ToString()); });
            page.Verification = verificationCheck;
            RadTaskDialog.ShowDialog(page);

RadTaskDialogCommandLinkButton

RadTaskDialogCommandLinkButton represents a flat button positioned in the content area of the page.

WinForms RadTaskDialogCommandLinkButton

Adding a RadTaskDialogCommandLinkButton

               RadTaskDialogPage page = new RadTaskDialogPage();
            page.Caption = "Window Title";
            page.Heading = "Main instruction";
            page.Text = "Main text here...";
            page.Icon = RadTaskDialogIcon.ShieldWarningYellowBar;
            page.Icon.SvgImage = RadTaskDialogIcon.GetSvgImage(RadTaskDialogIconImage.FlatShieldWarning, new Size(32, 32));

            RadTaskDialogCommandLinkButton linkButton = new RadTaskDialogCommandLinkButton();
            linkButton.Text = "Link Button";
            linkButton.DescriptionText = "This is a link button";
            page.ContentArea.Buttons.Add(linkButton);
            RadTaskDialog.ShowDialog(page);       

RadTaskDialogRadioButton

Adding multiple RadTaskDialogRadioButtons allows users to choose from different options.

WinForms RadTaskDialogRadioButton

Adding a RadTaskDialogRadioButton

            RadTaskDialogPage page = new RadTaskDialogPage();
            page.Caption = "Window Title";
            page.Heading = "Main instruction";
            page.Text = "Main text here...";
            page.Icon = RadTaskDialogIcon.ShieldWarningYellowBar;
            page.Icon.SvgImage = RadTaskDialogIcon.GetSvgImage(RadTaskDialogIconImage.FlatShieldWarning, new Size(32, 32));

            page.RadioButtons = new RadItemOwnerGenericCollection<RadTaskDialogRadioButton>()
            {
                new RadRadioButtonElement() { Text = "Radio 1" },
                new RadRadioButtonElement() { Text = "Radio 2" }
            };

            RadTaskDialog.ShowDialog(page);      

RadTaskDialogButton

RadTaskDialogButton is shown in the command area of the page.

WinForms RadTaskDialogButton

Adding a RadTaskDialogButton

            RadTaskDialogPage page = new RadTaskDialogPage();
            page.Caption = "Window Title";
            page.Heading = "Main instruction";
            page.Text = "Main text here...";
            page.Icon = RadTaskDialogIcon.ShieldSuccessGreenBar ;
            page.Icon.SvgImage = RadTaskDialogIcon.GetSvgImage(RadTaskDialogIconImage.GradientShieldSuccess , new Size(32, 32));

            RadTaskDialogButton button1 = new RadTaskDialogButton();
            button1.Text = "Custom Button1";
            button1.Click += new EventHandler(delegate(object sender, EventArgs e) { RadMessageBox.Show("Clicked Button1!"); });
            page.DefaultButton = button1;
            page.CommandAreaButtons.Add(button1);
            RadTaskDialogButton button2 = new RadTaskDialogButton();
            button2.Text = "Custom Button2";
            button2.Click += new EventHandler(delegate(object sender, EventArgs e) { RadMessageBox.Show("Clicked Button2!"); });
            page.CommandAreaButtons.Add(button2);

            RadTaskDialog.ShowDialog(page);