VB.NET系统托盘图标实例

  1. Imports System.ComponentModel
  2. Imports System.Drawing
  3. Imports System.WinForms
  4. Public Class Form1
  5.     Inherits System.WinForms.Form
  6.     'TrayIcon icons
  7.     Private mSmileIcon As Icon = New Icon("face02.ico")
  8.     Private mFrownIcon As Icon = New Icon("face04.ico")
  9.     Private mSmileDisplayed As Boolean
  10.     Public Sub New()
  11.         MyBase.New()
  12.         Form1 = Me
  13.         'This call is required by the Win Form Designer.
  14.         InitializeComponent()
  15.         'TODO: Add any initialization after the InitializeComponent() call
  16.         'this form isn't used directly so hide it immediately
  17.         Me.Hide()
  18.         'setup the tray icon
  19.         InitializeTrayIcon()
  20.     End Sub
  21.     
  22.     Private Sub InitializeTrayIcon()
  23.         'setup the default icon
  24.         TrayIcon = New System.WinForms.TrayIcon()
  25.         TrayIcon.Icon = mSmileIcon
  26.         TrayIcon.Text = "Right Click for the menu"
  27.         TrayIcon.Visible = True
  28.         mSmileDisplayed = True
  29.         'Insert all MenuItem objects into an array and add them to
  30.         'the context menu simultaneously
  31.         Dim mnuItms(4) As MenuItem
  32.         mnuItms(0) = New MenuItem("Show Form..."AddressOf Me.ShowFormSelect)
  33.         mnuItms(0).DefaultItem = True
  34.         mnuItms(1) = New MenuItem("Toggle Image"AddressOf Me.ToggleImageSelect)
  35.         mnuItms(2) = New MenuItem("-")
  36.         mnuItms(3) = New MenuItem("Exit"AddressOf Me.ExitSelect)
  37.         Dim trayIconMnu As ContextMenu = New ContextMenu(mnuItms)
  38.         TrayIcon.ContextMenu = trayIconMnu
  39.     End Sub
  40.     
  41.     Public Sub ShowFormSelect(ByVal sender As ObjectByVal e As system.eventargs)
  42.         'Display the settings dialog
  43.         Dim SettingsForm As New SettingsForm()
  44.         SettingsForm.ShowDialog()
  45.     End Sub
  46.     
  47.     Public Sub ToggleImageSelect(ByVal sender As ObjectByVal e As System.EventArgs)
  48.         'called when the user selects the 'Toggle Image' context menu
  49.         
  50.         'determine which icon is currently visible and switch it
  51.         If mSmileDisplayed Then
  52.             'called when the user selects the 'Show Form' context menu
  53.             TrayIcon.Icon = mFrownIcon
  54.             TrayIcon.Text = "Sad"
  55.             mSmileDisplayed = False
  56.         Else
  57.             TrayIcon.Icon = mSmileIcon
  58.             TrayIcon.Text = "Happy"
  59.             mSmileDisplayed = True
  60.         End If
  61.         
  62.     End Sub
  63.     
  64.     Public Sub ExitSelect(ByVal sender As ObjectByVal e As System.EventArgs)
  65.         'called when the user selects the 'Exit' context menu
  66.         
  67.         'hide the tray icon
  68.         TrayIcon.Visible = False
  69.         
  70.         'close up
  71.         Me.Close()
  72.     End Sub
  73.     
  74.     'Form overrides dispose to clean up the component list.
  75.     Public Overrides Sub Dispose()
  76.         MyBase.Dispose()
  77.         components.Dispose()
  78.     End Sub
  79.     
  80. #Region " Windows Form Designer generated code "
  81.     
  82.     'Required by the Windows Form Designer
  83.     Private components As System.ComponentModel.Container
  84.     Private WithEvents TrayIcon As System.WinForms.TrayIcon
  85.     
  86.     Dim WithEvents Form1 As System.WinForms.Form
  87.     
  88.     'NOTE: The following procedure is required by the Windows Form Designer
  89.     'It can be modified using the Windows Form Designer.  
  90.     'Do not modify it using the code editor.
  91.     Private Sub InitializeComponent()
  92.         Me.components = New System.ComponentModel.Container()
  93.         Me.TrayIcon = New System.WinForms.TrayIcon()
  94.         
  95.         '@design Me.TrayHeight = 90
  96.         '@design Me.TrayLargeIcon = False
  97.         '@design Me.SnapToGrid = False
  98.         '@design Me.TrayAutoArrange = True
  99.         '@design TrayIcon.SetLocation(New System.Drawing.Point(7, 7))
  100.         TrayIcon.Text = ""
  101.         TrayIcon.Visible = True
  102.         
  103.         Me.MaximizeBox = False
  104.         Me.StartPosition = System.WinForms.FormStartPosition.Manual
  105.         Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
  106.         Me.BorderStyle = System.WinForms.FormBorderStyle.None
  107.         Me.Enabled = False
  108.         Me.AccessibleRole = System.WinForms.AccessibleRoles.None
  109.         Me.ShowInTaskbar = False
  110.         Me.SizeGripStyle = System.WinForms.SizeGripStyle.Hide
  111.         Me.ControlBox = False
  112.         Me.MinimizeBox = False
  113.         Me.ClientSize = New System.Drawing.Size(1, 7)
  114.         Me.Opacity = 0#
  115.         
  116.     End Sub
  117.     
  118. #End Region
  119.     
  120. End Class
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值