C#借助谷歌翻译实现翻译小工具(二)添加托盘图标

上一节完善小翻译工具

设置Form的ShowInTaskbar属性为False,取消任务栏显示

设置Form的MaximizeBox属性为False,取消最大化显示

窗口添加两个控件

分别是:ContextMenuStrip和NotifyIcon

C#借助谷歌翻译实现翻译小工具(二)添加托盘图标

设置notifyIcon1的Icon

编辑contextMenuStrip1,添加显示主界面,隐藏主界面和退出两个菜单

设置notifyIcon1的ContextMenuStrip为contextMenuStrip1

添加相关代码:

/// <summary>
        /// 关闭标记,如果是False则为退出,否则只是隐藏界面
        /// </summary>
        bool Exit = false;
        //显示主界面
        private void menuItem_Show_Click(object sender, EventArgs e)
        {
            base.Show();
            this.Activate();
        }
        //隐藏主界面
        private void menuItem_Hide_Click(object sender, EventArgs e)
        {
            this.Hide();
        }
        //双击事件
        private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            base.Show();
        }
        //退出
        private void MenuItem_Exit_Click(object sender, EventArgs e)
        {
            this.Exit = true;
            base.Close();
        }
        //窗体关闭
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (!this.Exit)
            {
                base.Hide();
                e.Cancel = true;
            }
        }


        /// <summary>
        /// 拦截右上角最小化事件消息,最小化隐藏拦截右上角关闭按钮事件
         /// </summary>
        /// <param name="m"></param>
        protected override void WndProc(ref Message m)
        {
            if ((m.Msg == 0x112) && (m.WParam.ToInt32() == 0xf020))
            {
                base.Hide();
            }
            else
            {
                base.WndProc(ref m);
            }
        }