在VC 6.0中实现程序图标显示在系统托盘中,需要比较复杂的代码,而在VB.net中,通过自身带的控件ContextMenu和NotifyIcon ,经过简单设置,几行代码就可以轻松实现。步骤如下: 新建工程 1、在窗体中添加两个对象ContextMenu1和NotifyIcon1,然后创建ContextMenu1的菜单分别为“Restore”和“Exit”,并用分割符隔开。设置“NotifyIcon1”的“ContextMenu”属性为“ContextMenu1”,这样运行时,右键单击托盘中的图标,所显示的菜单就是“ContextMenu1”的内容。 2、添加两个按钮,分别命名为“BtnToTray”(Text设置成“显示在托盘”)和“BtnExit”(Text设置成“再见”)。 3、选择一个图标作为窗体的Icon(也可采用默认的)。设置窗体的“ShowInTaskbar”属性为“False”。 设计界面 图1 设计界面如图1: 主要代码 主要代码如下: Private Sub BtnToTray_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnToTray.Click Me.Hide() '下面的代码可以用来实现以文件d:dragon.ico 作为在托盘中显示的图标 NotifyIcon1.Icon = New System.Drawing.Icon("d:dragon.ico") '下面直接采用窗体的图标,既保持一 致性,又不必担心磁盘上的图标文件被删除。 NotifyIcon1.Icon = Me.Icon NotifyIcon1.Visible = True NotifyIcon1.Text = "My program in Tray" End Sub '单击,程序退出 Private Sub BtnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnExit.Click Me.Close() End Sub Private Sub MenuRestore_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuRestore.Click '恢复显示窗体 Me.Show() End Sub Private Sub MenuExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuExit.Click '关闭窗体,退出程序 Me.Close() End Sub End Class 说明:本程序在Windows XP和VB.net中运行通过。 |