Reader Level:

Task Dialogs in C#

By Ibrahim Ersoy on Jul 09, 2012
Task Dialogs are elevated dialogs as you're familiar with after you installed an application telling you if it was installed correctly.

This is called Task Dialog and its a part of WindowsAPICodePack, available for download from:

What we're going to do in this article is to create a Task Dialog with customizable texts and a hyperlink that opens your webpage using Process.

The application will look like this(its a localized Windows 7 by the way):


First of all create a new windows forms application.

Then add these references:


which can be found on your extracted archive after you downloaded it:

..\Windows API Code Pack 1.1\Windows API Code Pack 1.1\binaries\Microsoft.WindowsAPICodePack.dll

After that create a TaskDialogCommandLink variable:

TaskDialogCommandLink link = null;

This will help us to access it from another event to open your website.


Now lets keep going...

Create a TaskDialog variable

TaskDialog dia = new TaskDialog(); 

This is the Dialog Window we wish to create.Here we created it actually


Lets play with its properties by adding more functionality to it:

dia.Cancelable = true;
dia.InstructionText = "Friend Request";
dia.StandardButtons = TaskDialogStandardButtons.Yes | TaskDialogStandardButtons.No; Cancelable means we can close/cancel the dialog if we want.
InstructionText is the above text inside the dialog.You can give it a general name like Friend Request,Mail Sent,Password Changed and goes on...
StandardButtons are as you can see,added two of them;

Now lets play with CommandLink:
link = new TaskDialogCommandLink("","Anonymous just added you as Friend in Facebook!","Do you accept?");
link.UseElevationIcon = true;
link.Enabled = true;
link.Click+=new EventHandler(link_Click);
Here we created a Hyperlink alike structure that uses Elevation icon and raised an event when clicked on it
public void link_Click(object sender, EventArgs e)
as i told before we created commandlink to access from an event.That event is this Click event.We access links name to view it on a webbrowser.i added my own blog,you can change it later,depends on you.

And lets finalize this application:
dia.DetailsExpanded = false;
dia.DetailsExpandedText = "Annonymous is a world-wide hacktivist group";
dia.ExpansionMode = TaskDialogExpandedDetailsLocation.ExpandFooter;
dia.Caption = "Information!";
We're adding this link to Task Dialog so that we can see it.We also assign false to DetailsExpanded to make it look like real windows 7 Task Dialogs.And we're adding some text regarding information about displays when you expand the detail icon
And finally we show it to the user:

Run and you'll see similar effecti've shown as a screenshot above

Hope it helps,and you use it in your applications.