[VB.NET]倒计时程序

来源:互联网 发布:剑三万花萝莉捏脸数据 编辑:程序博客网 时间:2024/05/17 05:58
倒计时程序

实例说明

本实例将制作一个倒计时程序。程序运行时,始终位于在任何窗口的最前面,双击窗体结束应用程序。程序运行结果如图54-1所示。可以在窗体上单击鼠标右键,在弹出的菜单中选择"设置倒计时",设置界面如图54-2所示。

图54-1 运行结果 图54-2 设置倒计时界面

技术要点

l 保持窗体最前

l 倒计时

l TimeSerial ()函数

<script type="text/javascript"><!--google_ad_client = "pub-8333940862668978";/* 728x90, 创建于 08-11-30 */google_ad_slot = "4485230109";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

l SetWindowPos()API函数

实现过程

■ 新建项目

打开Visual Studio.NET,选择"新建项目",在项目类型窗口中选择"Visual Basic项目",在模板窗口中选择"Windows应用程序",在名称域中输入"ReverseCount",然后选择保存路径。单击"确认"。

■ 添加控件、菜单和窗体

为当前窗体添加两个Label控件和两个Timer控件。其中一个Timer控件控制一个Label控件在上方一直循环移动;另一个Timer控件控制时间的显示。添加一个ContextMenu控件并新建菜单"设置倒计时"和"退出"。利用菜单"项目|添加Windows窗体",为当前项目添加一个窗体Form2,给Form2添加四个Label控件,用于说明之用;两个Button按钮和三个TextBox控件。最后通过菜单"项目|添加模块"为当前项目添加一个模块。

■ 设置属性

切换到"属性栏",对窗体及窗体上的控件进行设置属性。详细情况如表54-1和表54-2所示。

表54-1 窗体Form1及控件的属性值

窗体/控件 属性 值

Form1 FormBorderStyle FixedSingle

ContextMenu ContextMenu1

Label1 Text 倒计时

Timer1 Interval 100

Timer2 Interval 1000

表54-2 窗体Form2及控件的属性值

窗体/控件 属性 值

Form2 BorderStyle 0-None

StartUpPositon CenterScreen

Text1 Text (空)

Button1 Text 更改图片

其余控件 跟界面一致即可

■ 添加代码

Module Module1

' 这是在模块中添加的代码

Public hours As Short

Public minutes As Short

Public seconds As Short

Public revtime As Date

'此API函数用来使某个窗口位于所有窗口之上

Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Integer, ByVal hWndInsertAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer, ByVal cy As Integer, ByVal wFlags As Integer) As Integer

End Module

' 下面这些代码是在窗体Form1中添加的

' 双及窗体,结束应用程序

Private Sub Form1_DoubleClick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.DoubleClick

Me.Close()

End Sub

' 启动程序时,使程序位于任何窗体的上方

Private Sub Form1_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load

Me.TopMost = True

End Sub

' 开始倒计时,并显示出来

Private Sub Timer1_Tick(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Timer1.Tick

revtime = DateAdd(Microsoft.VisualBasic.DateInterval.Second, -1, revtime)

Label2.Text = Format(revtime, "hh") & ":" & Format(revtime, "mm") & ":" & Format(revtime, "ss")

End Sub

Private Sub MenuItem1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem1.Click

Form2.DefInstance.ShowDialog()

End Sub

Private Sub MenuItem2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MenuItem2.Click

Me.Close()

End Sub

' 下面这些代码是在窗体Form2中添加的

Private Sub Button1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Button1.Click

hours = Val(Text1.Text)

minutes = Val(Text2.Text)

seconds = Val(Text3.Text)

' 将输入转化为时间格式

revtime = TimeSerial(hours, minutes, seconds)

Form1.DefInstance.Label2.Text = Format(revtime, "hh") & ":" & Format(revtime, "mm") & ":" & Format(revtime, "ss")

Form1.DefInstance.Timer1.Enabled = True

Form2.DefInstance.Hide()

End Sub

Private Sub Button2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Button2.Click

Me.Close()

End Sub

■ 运行程序

单击菜单"调试|启动"或单击 图标运行程序。

小结

本实例介绍了一个倒计时程序,它的思路比较简单,就是获得用户输入的时间值,通过定时器每秒钟更新显示一次。它的应用比较广泛,读者可以更改其界面,使其变得更实用、更漂亮。

原创粉丝点击