包含vb.net累计时间方法的词条

vb.net的,按键连续触发事件,比如,按着键不放,音量增大。

1.定义变量记录键是否被按下,按下的累计时间

创新互联专业提供成都主机托管四川主机托管成都服务器托管四川服务器托管,支持按月付款!我们的承诺:贵族品质、平民价格,机房位于中国电信/网通/移动机房,资阳主机托管服务有保障!

Dim 按下A键  As Boolean

Dim 按下A键时间 As Integer

2.添加一个TextBox1用于接收键盘事件,或者直接用窗体的键盘事件(确保KeyPreview为True)

在KeyDown事件中添加如下代码:

If e.Keycode = keys.A Then 按下A键 = True

在KeyUp事件中添加如下代码:

If e.Keycode = keys.A Then 按下A键 = False

3.添加一个Timer1控件,调整Timer1的Interval来决定按键频率,记得要把Timer1.Enable开启

在Tick事件中添加如下代码:

If 按下A键 = True

按下A键时间+=1

Call 音量设置(按下A键时间 * 10)

End If

PS: 按下的秒数 = 按下A键时间*Timer1.Interval / 1000

vb.net 时间相加

Module Module1

Sub Main()

Console.WriteLine(DateTimeAdd("01:23:45"))

Console.ReadLine()

End Sub

''' summary

''' 获取时间的累加值

''' /summary

''' param name="sDatetime"/param

''' returns/returns

''' remarks/remarks

Private Function DateTimeAdd(ByVal sDatetime As String) As DateTime

Dim sysTime As DateTime = DateTime.Now

Return sysTime.Add(TimeSpan.Parse(sDatetime))

End Function

End Module

vb.net 时间统计问题

一楼风中的奶牛的做法很棒,建议楼主采纳他的回答。

只是其中有一个Bug,就是“倒数第二次累计分钟数为59,累计秒数达到60的时候,会出现**:60:**”。例如{"10:57:35", "2:02:51"},我这里做了修改,供参考。

另外,AddByInts中不需要进行循环和Select判断,可以简化。

同时,为了说明类和结构的关系,这里改用类。

也请一楼风中的奶牛勿怪罪在下啊!

Public Class Form1

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

'Dim str As String() = {"10:30:35", "2:02:51", "17:00:35", "2:02:51"}

Dim str As String() = {"10:57:35", "2:02:51"}

Dim time As TimeSerial = New TimeSerial

For Each dt As String In str

time.Add(dt)

Next

MsgBox(time.ToString)

End Sub

End Class

Public Class TimeSerial

Public Hour As Integer ' 时间的小时部分

Public Minute As Integer ' 时间的分钟部分

Public Second As Integer ' 时间的秒钟部分

' 合并添加新的时间值

' param name="value"文本时间格式(00:00:00)/param

Public Sub Add(ByVal value As String)

Dim arr As String() = Split(value, ":")

Dim dts(arr.Length - 1) As Integer

For i As Integer = 0 To arr.Length - 1

dts(i) = CInt(Val(arr(i)))

Next

AddByInts(dts)

End Sub

' 合并添加新的时间值

' param name="value"时间值(仅计算:时、分、秒)/param

Public Sub Add(ByVal value As Date)

Dim dts(2) As Integer

dts(0) = value.Hour

dts(1) = value.Minute

dts(2) = value.Second

AddByInts(dts)

End Sub

Private Sub AddByInts(ByVal value As Integer())

Second += value(2)

If Second = 60 Then

Minute += Int(Second / 60)

Second = Second Mod 60

End If

Minute += value(1)

If Minute = 60 Then

Hour += Int(Minute / 60)

Minute = Minute Mod 60

End If

Hour += value(0)

End Sub

' 获取时间的文本格式(00:00:00)

Public Overrides Function ToString() As String

Return Hour ":" Minute ":" Second

End Function

End Class

VB.net 写一个方法,求一个时间变量=系统当前年月时间-去5个月的时间,求大神指点

可以使用VB.NET中的DataTime对象的AddMonths方法:

Dim d1 As Date = Now

MsgBox(d1) '显示现在的机器日期与时间

MsgBox(d1.AddMonths(2)) '显示现在的机器日期加上2个月的对应日期与时间

MsgBox(d1.AddMonths(-1)) '显示现在的机器日期减掉1个月的对应日期与时间

DataTime对象的方法很多,你可以通过在线查阅,例如:

d1.Add()

d1.AddDays()

d1.AddHours()

d1.AddMinutes()

d1.AddSeconds()

d1.AddYears()

等等!

注意:从字面意思可以理解是加,而括号里是填写对应的数值,当数值为负数,起到减的作用了。


分享名称:包含vb.net累计时间方法的词条
文章位置:http://scyanting.com/article/doohseg.html