Création d’une bulle contextuelle telle que Windows Messenger ou AVG

Comment puis-je créer une bulle Popup comme vous le verriez dans Windows Messenger, AVG, Norton ou qui que ce soit?

Je veux qu’il montre l’information, puis glisse après quelques secondes.

Edit: il doit être bloquant comme Form.ShowDialog () car le programme se ferme après l’affichage de la notification

Vous pouvez utiliser le contrôle notifyIcon faisant partie de .NET 2.0 System.Windows.Forms. Cela vous permet de placer une icône pour votre application dans la barre d’état système. Ensuite, vous pouvez appeler la méthode ShowBalloonTip (int timeOut) à ce sujet. Veillez toutefois à définir d’abord le texte et les propriétés des icons sur notifyIcon pour que cela fonctionne. Petit échantillon de code:

private void button1_Click(object sender, EventArgs e) { this.notifyIcon1.BalloonTipText = "Whatever"; this.notifyIcon1.BalloonTipTitle = "Title"; this.notifyIcon1.Icon = new Icon("icon.ico"); this.notifyIcon1.Visible = true; this.notifyIcon1.ShowBalloonTip(3); } 

EDIT: Ok, alors notifyIcon ne fonctionnera pas pour vous. Ma deuxième suggestion serait alors de créer votre propre contrôle pour cela. En fait, j’utiliserais un formulaire. Un formulaire simple, sans bordure, sans case de contrôle et ayant juste une timer en marche afin que vous puissiez définir l’opacité pour le fondu en entrée / sortie. Ensuite, vous pouvez facilement accéder au coin inférieur droit de l’écran à l’aide de Rectangle Screen.PrimaryScreen.WorkingArea. Ensuite, montrez simplement votre formulaire à cette position.

Ne créez pas de ballon modal (bloquant). S’il vous plaît. Une grande partie de la conception de ces interfaces utilisateur est qu’il ne s’agit pas de dialogs: ce sont des éléments transitoires, potentiellement non interactifs , destinés à fournir des informations incidentes à un utilisateur sans interrompre nécessairement son stream de travail. Un ballon qui dérobe le focus et bloque les entrées de l’utilisateur serait au mieux irritant – si vous avez besoin d’ un dialog, utilisez-le.

Vous voudrez peut-être consulter cet article http://www.codeproject.com/KB/miscctrl/RobMisNotifyWindow.aspx qui contient du code pour afficher une fenêtre de notification de type MSN Messenger

Le .NET 1.1 Visual Basic Power Pack avait un contrôle de grid-pain.