您的位置:首页 > 编程语言 > C#

如何使程序最小化时出现在系统托盘中(C#)

2012-08-24 17:56 363 查看
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; //托盘图标隐藏

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: