重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

vb.net微秒 VB中毫秒的函数

VB.net 如何设定准确的1秒时间?

form 的load事件中加一句:timer1.interval=1000

10多年的阜南网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整阜南建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“阜南网站设计”,“阜南网站推广”以来,每个客户项目都认真落实执行。

在一个按钮里面加入一句触发timer事件开始计时的代码:

timer1.enabled=true

timer的tick事件中加入这么两句:

textbox1.backcolor=color.red

timer1.enabled=false

怎样用vb.net做毫秒计时器(有没有什么类似于ccrptmr之类的控件)

不需要控件就可以,用多线程的方式实现,在窗体上放一个Label和一个button按钮,代码如下:

Imports System.Threading

Public Class Form1

Dim Start As Double

Dim td As Thread

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Label1.Text = "00:00:00 000"

Button1.Text = "开始"

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

If Button1.Text = "开始" Then

Button1.Text = "结束"

Start = DateAndTime.Timer

td = New Thread(AddressOf fun1)

td.Start()

Else

Button1.Text = "开始"

td.Abort()

End If

End Sub

'定义一个线程

Private Sub fun1()

Dim elapsed As TimeSpan

Dim Dg_txt As New Dg(AddressOf txt)

Do

elapsed = TimeSpan.FromMilliseconds((DateAndTime.Timer - Start) * 1000)

Me.Invoke(Dg_txt, elapsed.ToString, Label1)

Thread.Sleep(100)

Loop

End Sub

'定义一个委托

Delegate Sub Dg(ByVal s As String, ByVal obj As Label)

Sub txt(ByVal s As String, ByVal obj As Label)

obj.Text = s

End Sub

End Class

vb.net毫秒计时器代码问题

elapsed.Milliseconds 获取毫秒。

每100毫秒,do中的代码执行一次,执行时间将大于100毫秒,这是产生误差的地方之一。invoke执行一个方法txt,必须等txt里面的代码运行完毕,方法才能返回,期间占用的时间全是“误差”。

无限循环,且没有退出机制,停不下来。

求助,如何用vb.net编写一个秒表

Dim tCount As Integer '用来计数

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

tCount = 10

Timer1.Interval = 1000 '每秒执行一次

Timer1.Enabled = True

End

Sub

Private Sub

Timer1_Tick(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles Timer1.Tick

tCount -= 1

If tCount = 0 Then

MessageBox.Show("时间到")

Timer1.Enabled = False

End If

End

Sub

高精度计时器

可以实现,但是不是用vb.net提供的Timer控件,这个控件精度较低,只能用多线程循环检测时间,通过调用系统函数Environment.TickCount获取微秒级的时间:

sub threadloop

dim s as integer '保存上次调用函数的时间

do while true

if Environment.TickCount - s = 50 then '隔50微妙调用一次函数

s=Environment.TickCount

call xxx '调用外部函数

end if

loop

end sub

上面的函数放在多线程中运行


当前文章:vb.net微秒 VB中毫秒的函数
转载源于:http://cqcxhl.com/article/hijheg.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP