VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > VB.net教程 >
  • VB.net 进度条使用

ProgressBar 控件又称进度条控件,它是一个应用很广的控件,可以在需要执行较长的程序过程中使用它来指示当前任务执行的进度,如果这样的过程中没有视觉提示,用户可能会认为应用程序不响应,通过在应用程序中使用 ProgressBar,可以告诉用户应用程序正在执行任务且仍在响应。

在vb.net工具箱中 ProgressBar 控件图标如下图一所示:


 
image.png

ProgressBar 控件常用属性有:Maximum、Minimum、Step、Value;常用的方法有:PerformStep、Increment。
Maximum、Minimum 属性:指ProgressBar 控件可变化的最大和最小值。
Step 属性:ProgressBar 控件调用 PerformStep 方法时候增长的步长。
Value 属性:ProgressBar 控件当前的位置值。
PerformStep 方法:按照 Step 属性的数量增加进度栏的当前位置。
Increment 方法:按指定的数量增加进度栏的当前位置。

下面我们就用示例来演示它的属性和方法。

1、未知界限
设置Style属性为Marquee,进度块是自动推进的,不过不能反映实际进度,也就是提醒一下用户:程序在正常运行中,而不是死机了。

2、已知界限
在“循环增加1”的按钮Click事件中添加如下代码:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim i As Integer = 0

        ProgressBar1.Value = 0
        ProgressBar1.Minimum = 0
        ProgressBar1.Maximum = 100

        For i = 1 To 100
            ProgressBar1.Value += 1
            System.Threading.Thread.Sleep(100)
        Next
    End Sub

在“按步长增加”按钮Click事件中添加如下代码:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        For r = 0 To 100
            If ProgressBar1.Value < 100 Then
                ProgressBar1.Value = ProgressBar1.Value + 1
            Else
                MsgBox("进度完成", MsgBoxStyle.Information, "提示")
                Exit For '退出循环
            End If
        Next

    End Sub

在“按输入值增加”按钮Click事件中添加如下代码:

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        ProgressBar1.Minimum = 0
        ProgressBar1.Maximum = 100

        Dim i As Integer = CInt(InputBox("输入要增加的量", , "15"))

        ProgressBar1.Increment(i)
    End Sub

按F5运行,就可以演示 ProgressBar 控件增加值的三种方法,注意使用PerformStep、Increment这两种方法的时候并不会因为Value的值超过Maximum 而引发错误。
按时间出发

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ProgressBar1.Value = 0
        '每隔1000毫秒触发一次
        Timer1.Interval = 1000
        Timer1.Enabled = False
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        If ProgressBar1.Value < 100 Then
            ProgressBar1.Value = ProgressBar1.Value + 1
        Else
            Timer1.Enabled = False
        End If
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Timer1.Enabled = True
    End Sub


作者:不务正业程序熊
链接:https://www.jianshu.com/p/3bd48e248734
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


相关教程