你好我是一个新手/平庸的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那样更新为什么?
答案 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
我在表格中添加了一个进度条和两个标签,其中一个是计算机电池,另一个将告诉用户电缆是否已拔下,我知道你没有要求电缆状态但是我添加了它只是你需要它:) 快乐编码