-
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
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
栏目列表
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比