Создание приложения лотка в WinForms с использованием C#

Чтобы создать приложение лотка в WinForms с использованием C#, вам потребуется использовать класс NotifyIcon. Класс NotifyIconпозволяет отображать значок на панели задач и обрабатывать связанные с ним события. Вот пример того, как создать приложение лотка в WinForms:

  1. Откройте Visual Studio и создайте новый проект приложения Windows Forms.
  2. Перетащите элемент управления NotifyIconиз панели инструментов в форму.
  3. Задайте необходимые свойства элемента управления NotifyIcon, например значок, текст всплывающей подсказки и т. д.
  4. Добавьте обработчики событий MouseDoubleClickи MouseClickэлемента управления NotifyIcon. Эти события будут срабатывать, когда пользователь взаимодействует со значком на панели задач.
  5. В обработчики событий можно добавить код для выполнения действий, когда пользователь дважды щелкает или щелкает значок в области уведомлений. Например, вы можете показать форму, отобразить контекстное меню или выполнить любое другое желаемое действие.
  6. Создайте и запустите приложение, чтобы увидеть значок на панели задач.

Вот пример фрагмента кода, демонстрирующий базовое приложение лотка:

using System;
using System.Windows.Forms;
namespace TrayApplication
{
    public partial class MainForm : Form
    {
        private NotifyIcon trayIcon;
        public MainForm()
        {
            InitializeComponent();

            // Initialize the NotifyIcon
            trayIcon = new NotifyIcon();
            trayIcon.Text = "Tray Application";
            trayIcon.Icon = new Icon("icon.ico");
            // Handle double-click event
            trayIcon.MouseDoubleClick += TrayIcon_MouseDoubleClick;
            // Handle click event
            trayIcon.MouseClick += TrayIcon_MouseClick;
        }
        private void TrayIcon_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            // Perform actions on double-click
            // For example, show a form or display a context menu
        }
        private void TrayIcon_MouseClick(object sender, MouseEventArgs e)
        {
            // Perform actions on click
            // For example, show a form or display a context menu
        }
        private void MainForm_Load(object sender, EventArgs e)
        {
            // Hide the main form
            this.Hide();
            // Show the tray icon
            trayIcon.Visible = true;
        }
    }
}

Не забудьте заменить "icon.ico"на путь к нужному файлу значка.