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

c# 程序最小化到系统托盘

2007-12-06 14:59 253 查看
用过千千静听的都知道该软件能够最小化到右下角的系统托盘中。最近我做了个小工具,也要实现类似功能。就是当点击某个按钮或者是快捷键的时候,程序最小化到系统托盘,再次使用快捷键该程序还原。
首先是解决如何最小化到系统托盘并恢复的问题:
办法是使用NotifyIcon控件,该控件就是最小化后看到的那个按钮,主要是配置个漂亮的图标:)。程序中加入如下代码:

1

void MinimizedToNormal()
2





{
3

this.Visible = true;
4

this.WindowState = FormWindowState.Normal;
5

notifyIcon1.Visible = false;
6


7

}
8

void NormalToMinimized()
9





{
10

this.WindowState = FormWindowState.Minimized;
11

this.Visible = false;
12

this.notifyIcon1.Visible = true;
13

}
NormalToMinimized()是把当前窗体隐藏,并显示托盘通知按钮(这个按钮初始是隐藏的)。
MinimizedToNormal()是重新显示窗体,并把托盘通知按钮隐藏。

下面解决如何通过快捷键控制最小化到系统托盘和恢复的问题,办法是调用windows api
RegisterHotkey()
UnregisterHotKey()这组api。
前一个注册一个系统快捷键,当点击该快捷键的时候可以调用NormalToMinimized()和MinimizedToNormal()进行最小化和恢复工作。
也可以直接用下面这个压缩包中的两个文件,包含在工程中,这个是老外写的系统快捷键控件。非常方便:)
/Files/dxfcv222/SystemHotkey.rar
代码如下:

1

void systemHotkey1_Pressed(object sender, EventArgs e)
2





{
3

if (this.notifyIcon1.Visible)
4





{
5

MinimizedToNormal();
6

}
7

else
8





{
9

NormalToMinimized();
10

}
11

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