src/Carnac/CarnacTrayIcon.cs

(完整代码) 1KB

using System;
using System.Drawing;
using System.Reflection;
using System.Windows.Forms;
using Application = System.Windows.Application;
// 下载于www.51aspx.com
namespace Carnac
{
    public class CarnacTrayIcon : IDisposable
    {
        readonly NotifyIcon trayIcon;

        public CarnacTrayIcon()
        {
            var exitMenuItem = new MenuItem
            {
                Text = Properties.Resources.ShellView_Exit
            };

            var iconStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("Carnac.icon.embedded.ico");

            trayIcon = new NotifyIcon
            {
                Icon = new Icon(iconStream),
                ContextMenu = new ContextMenu(new[] { exitMenuItem })
            };

            exitMenuItem.Click += (sender, args) =>
            {
                trayIcon.Visible = false;
                Application.Current.Shutdown();
            };
            trayIcon.MouseClick += NotifyIconClick;
            trayIcon.Visible = true;
        }

        public event Action OpenPreferences = () => { }; 

        void NotifyIconClick(object sender, MouseEventArgs mouseEventArgs)
        {
            if (mouseEventArgs.Button == MouseButtons.Left)
                OpenPreferences();
        }

        public void Dispose()
        {
            trayIcon.Dispose();
        }
    }
}

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。