ccidnet????

出版日期:2002-05-06 总期号:466 本年期号:16

本期导读
热点聚焦
零组件
PC天地
数码与外设
软件.net
专题
社会培训
教育信息化
读者俱乐部
把程序图标放在系统托盘中

刘红军、李传波

  在VB 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中运行通过。