关于VB.NET进度条的实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于VB.NET进度条的实例相关的知识,希望对你有一定的参考价值。

我想编一个进度条程序,让它每0.5秒进度增加1%,并用文本显示当前的进度,该如何实现?

这是我自己写的一个进度条控件,如图:

边框粗细和边框颜色以及进度条颜色都可以调。

进度条大小你可以自己拉伸。

同时,进度条还提供了丰富的动画效果(如边框闪烁效果【可关闭】,进度条滑动效果等。)

将边框粗细调为0即可实现无边框(同时边框闪烁效果(见“Flash”属性)也将关闭!)

进度值(见“ProgressValue”属性)类型为Single(单精度浮点数)

将我提供的DLL文件拖到工具箱即可安装

只能用于Windows窗体应用程序!

目标平台:.Net Framework 3.5

属性说明:

1.BorderColor 用于调整边框颜色

2.BorderWidth 用于调整边框粗细

3.Flash 用于开启、关闭边框闪烁效果

4.ProgressValue 用于设置、查看进度值

5.ForeColor 用于设置进度条颜色

6.BackColor 用于设置控件背景色

附件如果丢失,请私信。

参考技术A Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.ProgressBar1.Style = ProgressBarStyle.Continuous
n = 0
Me.Timer1.Enabled = True
Me.Timer1.Interval = 500
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Me.Timer1.Enabled = False
n = n + 1
If n <= 100 Then
Me.ProgressBar1.Value = n
Me.Timer1.Enabled = True
Else
Me.ProgressBar1.Value = 100
End If
'在定时器里跟新n就可以了,可以添加个label
End Sub

n为全局变量,添加一个进度条控件和定时器控件,文本显示进度就显示n值就可以了本回答被提问者采纳

[terminal]关于进度条的学习

在PowerShell中隐藏光标

在pip的源码C:\Python36\Lib\site-packages\pip\utils\ui.py中发现了:

 1 @contextlib.contextmanager
 2 def hidden_cursor(file):
 3     # The Windows terminal does not support the hide/show cursor ANSI codes,
 4     # even via colorama. So don‘t even try.
 5     if WINDOWS:
 6         yield
 7     # We don‘t want to clutter the output with control characters if we‘re
 8     # writing to a file, or if the user is running with --quiet.
 9     # See https://github.com/pypa/pip/issues/3418
10     elif not file.isatty() or logger.getEffectiveLevel() > logging.INFO:
11         yield
12     else:
13         file.write(HIDE_CURSOR)
14         try:
15             yield
16         finally:
17             file.write(SHOW_CURSOR)

本来都打算放弃了, 第二天在windows上PowerShell中一试居然可以

具体HIDE_CURSOR的代码在C:\Python36\Lib\site-packages\pip\_vendor\progress\helpers.py文件中

1 HIDE_CURSOR = \x1b[?25l
2 SHOW_CURSOR = \x1b[?25h

跟进度条的斗争, 从sys.stdout.write()和sys.stdout.flush(), 到progressbar2, 再到tqdm, 再到之后因为tqdm在jupyter notebook中好看, 于是折腾anaconda, 最终试着研究tqdm源码, 发现ascii参数, 再到研究pip源码,着实学到不少, 不过像本少这种门外少年, 还是需要时间慢慢来, 才能接受看源码的设定. 苦笑...

最后附上个人定制进度...称不上条了....

 

以上是关于关于VB.NET进度条的实例的主要内容,如果未能解决你的问题,请参考以下文章

关于VB.NET中进度条使用问题

Qt中如何改变QProgressBar中进度条的颜色?

关于文件上传下载以及其他进度条的实现

[terminal]关于进度条的学习

关于进度条的 6 个 Python 实用技巧

从“My.resources”VB.net 复制文件的进度条