Task Dialogs in C#

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:
  1. TaskDialogCommandLink link = null;  
This will help us to access it from another event to open your website.
 
Now let's keep going...
 
Create a TaskDialog variable
  1. TaskDialog dia = new TaskDialog();  
This is the Dialog Window we wish to create. Here we created it actually
 
Let's play with its properties by adding more functionality to it:
  1. dia.Cancelable = true;  
  2. dia.InstructionText = "Friend Request";  
  3. 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:
  1. link = new TaskDialogCommandLink("http://www.iersoy.com","Anonymous just added you as Friend in Facebook!","Do you accept?");  
  2. link.UseElevationIcon = true;  
  3. link.Enabled = true;  
  4. link.Click+=new EventHandler(link_Click); 
Here we created a Hyperlink alike structure that uses the Elevation icon and raised an event when clicked on it
  1. public void link_Click(object sender, EventArgs e)  
  2. {  
  3.     Process.Start(link.Name);  

as I told you before we created commandlink to access an event. That event is this Click event. We access links' names to view them on a web browser. I added my own blog, you can change it later, depends on you.
 
And lets finalize this application:
  1. dia.Controls.Add(link);  
  2. dia.DetailsExpanded = false;  
  3. dia.DetailsExpandedText = "Annonymous is a world-wide hacktivist group";  
  4. dia.ExpansionMode = TaskDialogExpandedDetailsLocation.ExpandFooter;  
  5. dia.Caption = "Information!";  
  6. 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 a similar effective shown as a screenshot above
 
Hope it helps, and you use it in your applications.


Similar Articles