News
  • Favorite
  • Facebook
  • Twitter
  • LinkedIn

Microsoft Press Pearson Education (InformIT)
Skip Navigation Links
Pearson Education (InformIT)
Displaying an alert window in your windows forms application using C#

Some developers that use Microsoft live Messenger see an alert window when somebody of their contacts comes online. While developing BIMSI OMS applications some customers asked me to display alert messages when an order added to them and require the user to take an action.

When I saw the alert window of the Windows Live Messenger, I have decided to make BIMSI OMS alert as the one of Live Messenger.

Creating an alert window as the one of Live Messenger:

1.       Create a new windows application using Visual Studio 2005/2008 or use any windows application you have created.

2.       Add a new Windows Forms in the newly created project and name it AlertForm.

3.       In the constructor of the AlertForm add the following code to display the AlertForm in the location above the Taskbar clock section.

Rectangle screenRectangle = Screen.PrimaryScreen.WorkingArea;

this.Location = new Point(screenRectangle.Width - this.Width - 10,

    screenRectangle.Height - this.Height - 10); 

4.        The above code simply gets the working area of the client primary monitor screen and set the location of the Alert Form to the location computed above.

5.       You can also add a label control to display a message to the user.

6.       You can also add sound to the Alert Form as follows:

a.       Import the System.Media name space in the alert form. Using the following statement  using System.Media;

b.      Declare a new SoundPlayer soundPlayer object.

c.       Pass the file path of the .wav sound file to the constructor of the soundPlayer object as follow soundPlayer = new SoundPlayer(“.wav sound file path”);

d.      The file passed to soundPlayer object must be a .wav file. If you pass a .mp3 or other audio files it will throw an exception.

e.      After that call the Play method of the soundPlayer object as follows:

soundPlayer.Play();

f.        In the form closing call the Stop method of the soundPlayer object as follows:

soundPlayer.Stop();

7.       If you want to make the alert window closes after a period of time:

a.       Add the System.Timers.Timer component to the AlertForm and name it CloseTimer.

b.      Set its interval to the period you want the form to close after for example set it to 3000 milliseconds (3 seconds).

c.       Implement the Timer Elapsed event and add the following code in that event 

private void CloseTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)

{

    this.Close();

}

d.      Now after the timer period is elapsed the AlertForm will close.

8.       If you want to display the Alert Window in another thread other than the main one you can use the powerfull BackgroundWorker Component that execute tasks in a Background thread with the following steps:

a.       Add the BackgroundWorker Component from the Toolbox and name it NotifyBackgroundWorker.

b.      Implement The NotifyBackgroundWorker  DoWork Event and write the code that will show the AlertForm as follows:

AlertForm alertForm = new AlertForm();

      alertForm.Show();

9.       To display the Alert window to the user you will need to follow these steps:

a.       Write the following code in the event or methods in which  you need to notify users:

if (!NotifyBackgroundWorker.IsBusy)

         {

            NotifyBackgroundWorker.RunWorkerAsync();

         }

b.      In the above code we check if the NotifyBackgroundWorker is not doing any work  and then we call the RunWorkerAsync() method that executes the code written in the DoWork Event of the NotifyBackgroundWorker.

With these steps you have created an alter window that like the one of the Windows Live Messenger

 

(56) Comments

Blog Message http://trello.com/hyundaigialai3s/

It as not that I want to replicate your web-site, but I really like the design and style. Could you let me know which design are you using? Or was it tailor made?


Blog Message http://crystalacampbell.com

some truly interesting details you have written.


Blog Message http://doidosporchurrasco.blogspot.com/

There is certainly a great deal to find out about this issue. I really like all of the points you made.


Blog Message http://bejotravels.com/trip-to-delhi-mumbai-and-goa-by-indian-travel-agents-in-usa/

I really liked your article.Thanks Again. Fantastic.


Blog Message http://marrakech-sightseeing-tours.com

Really informative article post. Fantastic.


Blog Message http://bplawyers.co.id/need-top-law-firm-indonesia/

You have observed very interesting points ! ps decent internet site. The appearance of right oft leads us wrong. by Horace.


Blog Message https://twitter.com/GRUENDERPILOT/status/808274161948889088

Way cool! Some extremely valid points! I appreciate you penning this post and also the rest of the website is extremely good.


Blog Message https://www.youtube.com/watch?v=0EhVo-DhOWo

Koi I met this in reality good News today


Blog Message http://ireport.cnn.com/people/CaroleHeller?viewingAsOthers=true

Thanks-a-mundo for the article.Really thank you! Really Great.


Blog Message https://moz.com/community/users/10276697

Thanks for another wonderful post. Where else may just anyone get that type of info in such an ideal means of writing? I have a presentation next week, and I am on the look for such info.


Blog Message http://www.dcschoolhub.com/education-and-child-care-blog/

Wow, great post.Really thank you! Great.


Blog Message http://www.foxnews.com/science/2013/05/29/mars-rat-spied-by-nasa-curiosity-rover.html

Really informative article.Much thanks again. Keep writing.


Blog Message https://www.cnet.com/news/mars-alien-face-ufo-rocks/

It as difficult to find experienced people about this topic, but you sound like you know what you are talking about! Thanks


Blog Message http://www.laboudoircoquette.com

This is one awesome article post.Much thanks again. Will read on


Blog Message http://bgtopsport.com/user/rallgeono623/

Appreciate you sharing, great post. Much obliged.

First Previous 1 2 3 4 Next Last 
Rating
Name
Email
Comment