Task Dialogs in C#

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: http://archive.msdn.microsoft.com/WindowsAPICodePack/

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("http://www.iersoy.com","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 Anonymous.it 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.