Click here to Skip to main content
15,861,125 members
Articles / Desktop Programming / Windows Forms
Article

An Office 2003-like popup notifier

Rate me:
Please Sign up or sign in to vote.
4.71/5 (58 votes)
23 Mar 2006CPOL1 min read 295.3K   7K   182   113
A nice little control to help the user notice you're trying to tell him something...

Image 1

Introduction

This is a simple project, a control that mimics the Microsoft® Outlook® 2003 mail alert.

Features

This control has several features. Among them, you'll find:

Image 2

Progressive appearance - transparency

Image 3

MSN Messenger like pop-ups (any size, color, etc.)

Image 4

Another sample

This control is 100% drawn in the code, there is absolutely no other dependencies than System.Drawing and System.Windows.Forms.

You can include a ContextMenuStrip when clicking on the "down arrow" button.

Using the code

The controls is made of two basic classes:

  • A form (the part that will actually show up).
  • A class that contains all the properties that will be includable on forms.

The class contains two timers, one used for the appearing/disappearing animation, the other (configurable) is used to define how much time the popup is shown before it disappears.

This is how the form is actually shown:

VB
fPopup.Size = Size
fPopup.Opacity = 0
fPopup.Location = _
  New Point(Screen.PrimaryScreen.WorkingArea.Right_
   - fPopup.Size.Width - 1, _
   Screen.PrimaryScreen.WorkingArea.Bottom)
fPopup.Show()

The form is does the drawing in the Paint event.

I'm using these functions to obtain a color that is similar but lighter/darker. There might exist another method.

VB
Private Function GetDarkerColor(ByVal Color As Color) As Color
    Dim clNew As Color
    clNew = Drawing.Color.FromArgb(255, DedValueMin0(CInt(Color.R), _
            Parent.GradientPower), DedValueMin0(CInt(Color.G), _
            Parent.GradientPower), DedValueMin0(CInt(Color.B), _
            Parent.GradientPower))
    Return clNew
End Function

And to avoid flickering...

VB
Me.SetStyle(ControlStyles.OptimizedDoubleBuffer, True)
Me.SetStyle(ControlStyles.ResizeRedraw, True)
Me.SetStyle(ControlStyles.AllPaintingInWmPaint, True)

Points of Interest

None really, it's nice, it's fun, it's colorful... that's it :)

History

  • March 2006 - V 1.0.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior)
Switzerland Switzerland
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
AnswerRe: editing the dll file?!? Pin
Nicolas Wälti15-Mar-07 2:39
Nicolas Wälti15-Mar-07 2:39 
GeneralThe popup only fires in form load. Pin
astanton197821-Feb-07 2:06
astanton197821-Feb-07 2:06 
GeneralRe: The popup only fires in form load. Pin
astanton197821-Feb-07 4:05
astanton197821-Feb-07 4:05 
GeneralPort code to VS .NET Pin
utstudent26-Jan-07 16:37
utstudent26-Jan-07 16:37 
GeneralRe: Port code to VS .NET Pin
waltersenekal19-Feb-07 3:51
waltersenekal19-Feb-07 3:51 
GeneralRe: Port code to VS .NET Pin
utstudent19-Feb-07 14:44
utstudent19-Feb-07 14:44 
QuestionYes No Replies Pin
davidswift12-Jan-07 4:28
davidswift12-Jan-07 4:28 
AnswerRe: Yes No Replies Pin
Nicolas Wälti15-Jan-07 19:57
Nicolas Wälti15-Jan-07 19:57 
Thanks,

In fact the link is not really a link, but it fires the event Click(), which of course is usable, either by using

AddHandler myPopup.Click, AddressOf myClickingSub

or by adding the

Private Sub myPopup_Click() Handles myPopup.Click

End Sub

Now you can of course modify the concept to add two buttons, but this needs to be done directly in the component.

Cheers,
Nick
QuestionUse in Threads Pin
K32127-Nov-06 11:57
K32127-Nov-06 11:57 
GeneralAvoid losing focus when popup appears Pin
calis online15-Oct-06 23:12
calis online15-Oct-06 23:12 
QuestionRe: Avoid losing focus when popup appears Pin
calis online30-Oct-06 20:05
calis online30-Oct-06 20:05 
AnswerRe: Avoid losing focus when popup appears Pin
ddino11-Nov-06 23:52
ddino11-Nov-06 23:52 
GeneralRe: Avoid losing focus when popup appears Pin
calis online14-Nov-06 4:32
calis online14-Nov-06 4:32 
GeneralRe: Avoid losing focus when popup appears [modified] Pin
Gavinator123415-Nov-06 18:08
Gavinator123415-Nov-06 18:08 
GeneralRe: Avoid losing focus when popup appears Pin
calis online12-Dec-06 9:36
calis online12-Dec-06 9:36 
GeneralRe: Avoid losing focus when popup appears [modified] Pin
Brett Meyerowitz18-Dec-06 6:14
Brett Meyerowitz18-Dec-06 6:14 
GeneralRe: Avoid losing focus when popup appears Pin
lsri808814-Oct-07 23:47
lsri808814-Oct-07 23:47 
GeneralMSN-like stackable popup - OnClick Pin
calis online28-Sep-06 22:19
calis online28-Sep-06 22:19 
AnswerRe: MSN-like stackable popup - OnClick Pin
Nicolas Wälti28-Sep-06 23:05
Nicolas Wälti28-Sep-06 23:05 
GeneralRe: MSN-like stackable popup - OnClick Pin
calis online28-Sep-06 23:25
calis online28-Sep-06 23:25 
GeneralPopup Notifier minor issue Pin
brembot17-Sep-06 17:19
brembot17-Sep-06 17:19 
AnswerRe: Popup Notifier minor issue Pin
Nicolas Wälti28-Sep-06 23:07
Nicolas Wälti28-Sep-06 23:07 
QuestionHow ? Pin
zimmwarrior15-Sep-06 1:11
zimmwarrior15-Sep-06 1:11 
QuestionThreadSafe? Pin
brembot1-Aug-06 15:46
brembot1-Aug-06 15:46 
Generalgrow and shrink notifier Pin
zjanes6-Jul-06 2:02
zjanes6-Jul-06 2:02 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.