Winform短信猫程序开发总结(一)

1.如何使程序最小化时出现在系统托盘中?

  需求:
    短信猫的程序要求将程序最小化的同时让程序的图标出现在“系统托盘”的位置上,而不显示在“任务栏”中。鼠标双击系统托盘中的图标时,还原窗体。


<1>.ShowInTaskbar属性控制是否在任务栏显示窗体。
<2>.WindowState  属性指出当前Winform窗体的窗口状态。
当前窗口状态只有三种情况:
 FormWindowState.Maximized;//最大化窗口
 FormWindowState.Minimized;//最小化窗口
 FormWindowState.Normal;//默认的窗口大小
<3>.使用notifyIcon控件是控制出现在系统托盘的内容的。
  notifyIcon.Icon           -- 指定出现在任务栏中的Icon图标
    notifyIcon.Text           -- 显示的文本
  notifyIcon.BalloonTipIcon -- 气球工具提示关联的图标
    notigyIcon.BallonnTipText -- 气球工具提示关联的文本
  notigyIcon.BallonnTipText -- 气球工具提示的标题

  应在Form_SizeChange事件中完成判断,具体代码:

        /// <summary>
        /// 最小化值系统托盘
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
  private void Form_SizeChanged(object sender, EventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)  //判断是否最小化
            {
                this.ShowInTaskbar = false;  //不显示在系统任务栏
                notifyIcon.Visible = true;  //托盘图标可见
            }
        }

        /// <summary>
        /// 还原(notifyIcon的鼠标双击事件)
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            if (this.WindowState == FormWindowState.Minimized)
            {
                this.ShowInTaskbar = true;  //显示在系统任务栏
                this.WindowState = FormWindowState.Normal;  //还原窗体
                notifyIcon1.Visible = false;  //托盘图标隐藏
            }
        }

 

你可能感兴趣的:(object,工具,任务,WinForm,程序开发)