winform最小化到托盘,托盘右击菜单显示

Posted 代码描绘人生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了winform最小化到托盘,托盘右击菜单显示相关的知识,希望对你有一定的参考价值。

添加notifyIcon控件,并添加Icon,否则托盘没有图标(托盘右键菜单也可直接在属性里添加);

主要的代码:

public partial class Form1 : Form
    {
        #region
        //创建NotifyIcon对象 
        NotifyIcon notifyicon = new NotifyIcon();
        //创建托盘图标对象 
        Icon ico = new Icon("u9.ico");
        //创建托盘菜单对象 
        ContextMenu notifyContextMenu = new ContextMenu();
        #endregion
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //设置鼠标放在托盘图标上面的文字 
            this.notifyIcon1.Text = "码农网测试";
        }

        /// <summary>
        /// 最小化到托盘
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_SizeChanged(object sender, EventArgs e)
        {
            //判断是否选择的是最小化按钮 
            if (WindowState == FormWindowState.Minimized)
            {
                //托盘显示图标等于托盘图标对象 
                //注意notifyIcon1是控件的名字而不是对象的名字 
                notifyIcon1.Icon = ico;
                //隐藏任务栏区图标 
                this.ShowInTaskbar = false;
                //图标显示在托盘区 
                notifyicon.Visible = true;
            }
        }


        /// <summary>
        /// 托盘单击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
        {
            switch (e.Button)
            { 
                case System.Windows.Forms.MouseButtons.Left:    //左击
                    //判断是否已经最小化于托盘 
                    if (WindowState == FormWindowState.Minimized)
                    {
                        //还原窗体显示 
                        WindowState = FormWindowState.Normal;
                        //激活窗体并给予它焦点 
                        this.Activate();
                        //任务栏区显示图标 
                        this.ShowInTaskbar = true;
                        //托盘区图标隐藏 
                        notifyicon.Visible = false;
                    }
                    break;
                case System.Windows.Forms.MouseButtons.Right:
                    //MessageBox.Show("右键");
                    break;
            }
        }
    }

 

以上是关于winform最小化到托盘,托盘右击菜单显示的主要内容,如果未能解决你的问题,请参考以下文章

WinForm 之 窗口最小化到托盘及右键图标显示菜单

C# winForm启动最小化到任务栏右侧通知栏并交互操作

C# winForm启动最小化到任务栏右侧通知栏并交互操作

我用C# 编写的winform 最小化到托盘了

electron最小化到托盘video停止

C# winform 启动后自动最小化至托盘,如何去掉屏幕左下角缩小的那部分