当前位置:文档之家› VB实验报告

VB实验报告

实验类型__验证性_ 实验室_软件实验室二__
一、实验题目
托盘程序设计
二、实验目的
通过本次实验,使学生了解托盘程序的应用及设计思想,利用Timer控件和NotifyIcon控件实现一个动态托盘程序。

三、实验内容
1、实现动态托盘。

2、关闭窗体时进行隐藏操作。

3、窗体和托盘的转换通过双击实现。

4、托盘所对应主程序的应用自定。

四、实验代码(注明代码所实现的功能)
设计的窗口小型应用程序,即托盘所对应的主程序
Imports System.Threading
Public Class Form1 ‘建立一个窗体
Dim isfirst As Boolean = True
Dim MyIco1 As System.Drawing.Icon ‘为两个图片定义变量
Dim MyIco2 As System.Drawing.Icon
Private flag As Integer = 1
Dim thread As Thread = New Thread(…)‘图片地址
Private Sub MyForm_Load(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles MyBase.Load
MyIco1 = New System.Drawing.Icon(…")
MyIco2 = New System.Drawing.Icon(…")
End Sub ‘将定义好的两个变量连接到两张图片的地址路径,从而实现托盘的动态显示
Private Sub MyButton_Click() Handles BtnStart.Click
CheckForIllegalCrossThreadCalls = False
flag = 1
LabResult.Text = ""
thread = New Thread(AddressOf ShowImage)
thread.Start()
End Sub ‘图片滚动的应用程序
Private Sub ShowImage()
Dim Pic As String = Application.StartupPath.Split("bin\Debug")(0)
Dim ARRY(8) As String
Dim i As Integer = 0
ARRY = {"…"} ‘存放图片的名称和地址
While flag <> 0S
Pic =“…" ‘寻址
i = Convert.ToInt32(Math.Floor(Rnd() * 9))
Pic &= ARRY(i).ToString() ‘图片框滚动
PictureBox1.Image = System.Drawing.Image.FromFile(Pic)
LabShow.Text =… PictureBox1.Refresh()
LabShow.Refresh() Threading.Thread.Sleep(100)
End While
End Sub ‘寻找图片,并且显示到图片框中刷新名称
Private Sub…
LabResult.Text = "获奖者" & LabShow.Text
End Sub ‘将labshow中的文本内容显示在信息框中
Private Sub 显示ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 显示ToolStripMenuItem.Click
Me.Show()
End Sub ‘定义contexmenustrip 按钮的显示功能
Private Sub 隐藏ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 隐藏ToolStripMenuItem.Click
Me.Hide()
End Sub ‘定义contexmenustrip 按钮的隐藏功能
Private Sub 退出ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出ToolStripMenuItem.Click
End
End Sub ‘定义contexmenustrip 按钮的退出功能
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If isfirst = True Then
Me.NotifyIcon1.Icon = MyIco1
isfirst = False
Else
Me.NotifyIcon1.Icon = MyIco2
isfirst = True
End If
End Sub ‘timerkong 控件的定义,定义托盘图标的动态效果
Private Sub MyNotifyIcon_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
End Sub ‘notifyicon 按钮的定义
Private Sub MyContextMenuStrip_Opening(ByVal sender As System.Object, ByVal e As ponentModel.CancelEventArgs) Handles ContextMenuStrip1.Opening
End Sub ‘ontexmenustrip 控件的定义
Private Sub MyButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnStart.Click
End Sub ‘button 控件的功能
End Class ‘退出窗体
实验截图:主界面效果应用程序开始运行的界面:
动态托盘界面效果:
实验说明:
Timer为计时器控件,是按标准时间间隔引发事件的控件。

主要属性有用来定义计时器时间间隔长度的interval属性和决定定时器是否有效地enable属性。

在本程序中利用timer控件开启和关闭和再次开启时显示的图片的不同来实现图标的动态效果,利用timer实现了动态的托盘图标;
Notifyicon实现的功能为在运行期间实现在 windows任务栏右侧通知区域显示图标,也就是实现应用程序的托盘效果;
Contexmenustrip 控件是实现用户单击右键关联控件是显示快捷餐单,当点击动态托盘图标时显示三个功能:显示、隐藏、退出,单击相应的选项执行相应的功能。

五.实验总结:
通过本次试验我掌握了在VB环境下实现小型的托盘效果的方法和设计思想,并且掌握了timer控件和notifyicon控件的属性和使用方法,学会了利用二者创建动态的托盘程序。

相关主题