ARTICLE

Task Dialogs in C#

Posted by Ibrahim Ersoy Articles | .NET Assemblies July 09, 2012
Task Dialogs are elevated dialogs as you're familiar with after you installed an application telling you if it was installed correctly.
Reader Level:
Download Files:
 

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):



art6.png


First of all create a new windows forms application.

Then add these references:

Microsoft.WindowsAPICodePack.dll

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)
{
Process.Start(link.Name);
}
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.Controls.Add(link);
dia.DetailsExpanded = false;
dia.DetailsExpandedText = "Annonymous is a world-wide hacktivist group";
dia.ExpansionMode = TaskDialogExpandedDetailsLocation.ExpandFooter;
dia.Caption = "Information!";
dia.Show();
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.

COMMENT USING

Trending up