Question

Comment créer une bulle contextuelle comme celle que vous verriez dans Windows Messenger, AVG, Norton ou qui que ce soit?

Je veux qu'il affiche les informations, puis disparaisse au bout de quelques secondes.

Modifier: il doit être bloqué comme Form.ShowDialog () car le programme se ferme après l'affichage de la notification

Était-ce utile?

La solution

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 icônes sur notifyIcon pour que cela fonctionne. Petit exemple 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 minuterie 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.

Autres conseils

Ne créez pas de bulle modale (bloquante). S'il vous plaît. Une grande partie de la conception de ces interfaces utilisateur est qu’il s’agit de dialogues non : ce sont des éléments transitoires, potentiellement non interactifs , destinés à fournir des informations incidentes à un utilisateur < em> sans interrompre nécessairement leur flux de travail. Une bulle qui dérobe le focus et bloque les entrées de l'utilisateur serait au mieux irritante - si vous avez besoin d'une boîte de dialogue, utilisez-la.

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 semblable à celle de MSN Messenger

Le bloc d'alimentation Visual Basic de .NET 1.1 disposait d'un grille-pain contrôle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top