【VB.NET】实现动态托盘图标
前言有时候觉得也想给自己做的小软件添加一些小特色,但是总是不知道怎么实现,偶尔看到一些技术类的杂文,但也都是淡淡一描,没有真正的味道,前几天在一本书上看到了一些程序优化的内容,感觉实现类似QQ动态托盘的小技巧挺实用的,总结一下分享给大家。 NotifyIcon
好了,废话不多说,我们开始让我们程序显示在托盘中吧! 代码实现
需要的控件
定义类说明
窗体的全局变量如下 '定义两个图标'
private MyIcon1 As Icon
private MyIcon2 As Icon
'定义切换标识'
private MyFlag As Boolean
'定义窗体是否在显示的标识'
private MyWndShow As Boolean
属性设置
方法类
对于窗体主要控件的编写
private Sub New()
Mybase.New()
InitializeComponent()
'开始标记'
MyFlag = True
MyWndShow = True
Try
MyIcon1 = New Icon("1.ico") '引号中为图标名称和路径'
MyIcon2 = New Icon("2.ico")
Catch ex As Exception
MessageBox.Show("错误" + ex.Message,"动态系统托盘-错误")
end Try
end sub
Private Sub 动画图标开始ToolStripMenuItem_Click(sender As Object,e As EventArgs) Handles 动画图标开始ToolStripMenuItem.Click
'开始播放动画'
Me.Timer1.Start()
Me.增加ToolStripMenuItem.Enabled = True
End Sub
Private Sub 动画图标结束ToolStripMenuItem_Click(sender As Object,e As EventArgs) Handles 动画图标结束ToolStripMenuItem.Click
'托盘图标停止闪烁'
Me.Timer1.Stop()
End Sub
Private Sub 退出程序ToolStripMenuItem_Click(sender As Object,e As EventArgs) Handles 退出程序ToolStripMenuItem.Click
'退出程序'
End
End Sub
Private Sub 增加ToolStripMenuItem_Click(sender As Object,e As EventArgs) Handles 增加ToolStripMenuItem.Click
'增加闪烁速度'
'这里所有的数值都可以根据自己的需要进行修改'
If Me.Timer1.Interval > 20 Then
Me.Timer1.Interval -= 10
If Me.Timer1.Interval <= 10 Then
Me.Timer1.Interval = 10
Exit Sub
End If
End If
End Sub
Private Sub 减慢ToolStripMenuItem_Click(sender As Object,e As EventArgs) Handles 减慢ToolStripMenuItem.Click
'减慢速度'
Me.Timer1.Interval += 10
End Sub
对于NotifyIcon的编写代码如下: '单击鼠标,让主界面隐藏'
Private Sub NotifyIcon1_Click(sender As Object,e As MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
If (My_ShowWnd = True) Then
'隐藏主界面'
Me.Visible = False
My_ShowWnd = False
Else
Me.Visible = True
My_ShowWnd = True
End If
End Sub
'双击显示主界面'
Private Sub NotifyIcon1_DoubleClick(sender As Object,e As EventArgs) Handles NotifyIcon1.DoubleClick
Me.Visible = True
My_ShowWnd = True
End Sub
对于Timer的编写Private Sub Timer1_Tick(sender As Object,e As EventArgs) Handles Timer1.Tick
If Not (My_Icon1 Is Nothing) And Not (My_Icon2 Is Nothing) Then
If My_Flag = True Then
NotifyIcon1.Icon = My_Icon2
My_Flag = False
Else
NotifyIcon1.Icon = My_Icon1
My_Flag = True
End If
End If
End Sub
总结好了,到这里我们的系统托盘图标就做好了,运行起来就去试试吧。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |