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

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

Patricia Arquette
Patricia Arquetteoriginal
2025-01-14 18:11:44187parcourir

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

Création d'une application réduite dans la barre d'état système .NET Windows Forms

Contrairement aux applications traditionnelles qui peuvent être réduites dans la barre d'état système, les applications Windows Forms qui résident uniquement dans la barre d'état système nécessitent une approche différente. Cet article est destiné à vous guider à travers les étapes de création d’une application aussi minimale.

Solution :

La clé de ce type d'application est de remplacer la méthode par défaut Application.Run(), qui démarre la boucle d'application standard. Au lieu de cela, vous allez créer une classe personnalisée qui hérite de la classe ApplicationContext. Dans le constructeur d'ApplicationContext, vous initialisez l'instance NotifyIcon, qui représente l'icône dans la barre d'état système et gérez son comportement.

Code :

Voici un exemple du code que vous devez implémenter :

<code class="language-csharp">static class Program
{
    [STAThread]
    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 code crée une application qui existe uniquement dans la barre d'état système, avec une icône, une info-bulle et une option de menu contextuelle pour quitter l'application.

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