动态更新VB

时间:2016-04-07 20:59:02

标签: vb.net windows visual-studio

你好我是一个新手/平庸的VB程序员,我制作了一个只需要每秒更新一次的计时器。

我开始怀疑天气与否它是否正常工作所以我在我的计时器代码中应用了一个msg框,它每秒都会自动更新它,但进度条不会?为什么呢?

Dim power As PowerStatus = SystemInformation.PowerStatus
Dim percent As Single = power.BatteryLifePercent
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer.Tick
    ProgressBar1.Value = percent * 100
    Label1.Text = percent * 100
End Sub

我有一个电源状态和百分比,它取得状态并变成一个可用的百分比然后进度条使用该百分比但是没有像msgBOX那样更新为什么?

2 个答案:

答案 0 :(得分:0)

好吧,你的计时器可能运行良好,但你没有显示你在哪里/如何获得SystemInformation.PowerStatus.BatteryLifePercent的更新值。

也许你在代码中的其他地方这样做,但是当它被发布时,你总是显示相同的值,所以当然进度条永远不会改变。

答案 1 :(得分:0)

从我的问题中我可以看到,一切都应该正常工作但是我不能看到你添加了Timer1.Interval = 1000但是你可能有这个但设计师而不是编码方面,但是这里是如何我做了这个项目,所以你可以看到我的工作实例,所以你可以肯定,如果你有任何问题让我知道,我会尽我所能帮助你:))

Public Class Form1
Dim Timer1 As New Timer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    Timer1.Enabled = True
    Timer1.Interval = 1000
    AddHandler Timer1.Tick, AddressOf Timer1_Tick
    Timer1.Start()
End Sub

Private Sub Timer1_Tick()
    Dim POWER As PowerStatus = SystemInformation.PowerStatus
    Dim PERCENT As Single = POWER.BatteryLifePercent
    Dim ONCHARGE As PowerStatus = SystemInformation.PowerStatus
    ProgressBar1.Value = PERCENT * 100
    Label1.Text = "Power Remaining: " & PERCENT * 100 & "%"
    If ONCHARGE.PowerLineStatus = PowerLineStatus.Online Then
        Label2.Text = "Currently: Charging"
    Else
        Label2.Text = "Currently: Not Charging"
    End If
    End Sub
    End Class

我在表格中添加了一个进度条和两个标签,其中一个是计算机电池,另一个将告诉用户电缆是否已拔下,我知道你没有要求电缆状态但是我添加了它只是你需要它:) 快乐编码