Maison >développement back-end >C++ >Comment créer une application de barre d'état système dans les formulaires Windows .NET ?

Comment créer une application de barre d'état système dans les formulaires Windows .NET ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-14 18:01:43972parcourir

How to Build a System Tray Application in .NET Windows Forms?

Créer une application Windows Forms .NET uniquement dans la zone de notification

Pour créer une application Windows Forms qui s'exécute uniquement dans la barre d'état système, suivez les étapes décrites dans l'article du projet Code « Création d'une application dans la barre d'état système » :

1. Modifier le point d'entrée :

Modifiez la ligne Application.Run(new Form1()); dans Program.cs pour démarrer une classe personnalisée qui hérite de ApplicationContext.

2. Initialiser NotifyIcon :

Dans le constructeur de cette classe personnalisée, initialisez une instance NotifyIcon.

3. Implémenter le menu contextuel :

Ajoutez un menu contextuel à NotifyIcon en définissant sa propriété ContextMenu.

4. Gérer les événements d'icône :

Implémentez des gestionnaires d'événements pour tous les événements d'icône souhaités, tels que des clics ou des info-bulles.

5. Quittez l'application :

Créez un gestionnaire d'événements pour gérer l'événement de sortie et quitter l'application en douceur.

Voici un exemple d'extrait de code illustrant cette approche :

<code class="language-c#">static class Program
{
    static void Main()
    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new MyCustomApplicationContext());
    }
}

public class MyCustomApplicationContext : ApplicationContext
{
    private NotifyIcon trayIcon;

    public MyCustomApplicationContext()
    {
        // 初始化托盘图标
        trayIcon = new NotifyIcon()
        {
            Icon = Resources.AppIcon,
            ContextMenu = new ContextMenu(new MenuItem[] {
                new MenuItem("退出", Exit)
            }),
            Visible = true
        };
    }

    void Exit(object sender, EventArgs e)
    {
        // 隐藏托盘图标
        trayIcon.Visible = false;
        Application.Exit();
    }
}</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn