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

上一节完善小翻译工具

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

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

窗口添加两个控件

分别是:ContextMenuStrip和NotifyIcon

image

设置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);

            }

        }

你可能感兴趣的:(C#)