【问题标题】:Incrementing variable per minute using Visual Basic使用 Visual Basic 每分钟递增变量
【发布时间】:2014-10-06 09:45:26
【问题描述】:

我正在 VB.NET (Visual Basic 2008) 中编写一个程序,其中我需要变量 X 每分钟增加 1,默认值为 0。到目前为止,我已经制作了一个计时器,用于计算从加载表单开始经过的分钟和秒数。从那里开始,我有点卡住了。

这是我得到的代码:

Dim X as Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    X = 0
    Timer1.Interval = 1000
    Timer1.Enabled = True
End Sub

Function ConvertFunction(ByVal Counter As Integer) As String
    Dim Mins, Secs As Integer
    Secs = Counter Mod 60
    Mins = Counter \ 60
    Return Mins.ToString("00") & ":" & Secs.ToString("00")
End Function

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Static Counter As Integer
    Counter = Counter + 1
    Label1.Text = ConvertFunction(Counter)
End Sub


帮助,有人吗?提前致谢!


编辑:

我忘记包含一个细节,我刚刚意识到这可能会造成混淆。

在程序初始加载时默认值为0,但由于它也引用到数据库,过一段时间它可能是10或其他东西,所以下次加载程序时,它开始点将来自10

对此感到抱歉。 :/

【问题讨论】:

  • 有什么问题?哪个部分不工作?'
  • 我包含的代码运行良好。我只是停留在需要将计时器引用到变量 X 的部分。它需要每分钟递增。
  • 你不能在Mins = Counter \ 60之后添加X = Mins吗?
  • @N55PEC,我编辑了我的原始帖子,我没有意识到它令人困惑。对不起。

标签: .net vb.net visual-studio visual-studio-2008


【解决方案1】:

我认为您发布的代码中包含所需的一切,但您的计时器每秒触发一次(1000 毫秒)。只需将其更改为每分钟触发一次就足够了:

Dim X as Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    X = 0 'or any other value from the database
    Timer1.Interval = 60000 'fires every minute
    Timer1.Enabled = True
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    X += 1 ' increment the X after each minute passes
End Sub

【讨论】:

  • @SriramSakthivel 据我所知,它并没有说明
  • 如果你看到 OP 的 Timer1_Tick 你就会知道。
  • @SriramSakthivel - 他说他想每分钟更新一次值。发布的代码每秒触发一次计时器(我认为这是错误的,或者在任何情况下都不需要)。我们只能放弃指定的要求,而不是从发布的代码中猜测意图是什么。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-16
  • 2019-01-24
相关资源
最近更新 更多