vb中的进度条怎么用??

author author     2023-04-02     390

关键词:

option explicit
dim pw as long
private sub command click()
dim i as long , k as long
pw = picture1.width
for i = 0 to 2006
picture1.width = (i / 2006) * pw
doevents
next i
end sub
试试吧..临时写的.没有调试有问题QQ:86711527注明

如果你要用进度条的话也很简单.
bar1为你添加的MS组件中的procressbar控件
dim i as long
bar1.min = 0
bar1.max = 2005
for i = 0 to 2005
bar1.value = i
doevents
next i
前面写的是用图片控件做进度条.
方法 2 这个是COPY 别人的
采用一个完整的图片来作为进度条,每次当进度条改变时,采用先贴图再用背景色擦去不需显示的一段进度的方法来实现进度条的变化,可实现制作任何复杂美观的进度条。
二、准备工作
首先需准备一个如下图样式的进度条图片(当然你可以做你自己喜欢的样式)。然后在窗体中加入一PictureBox控件,属性设置如下:
AutoSize:True
Appearance:Falt
AutoRedraw:True
ScaleMode: Pixel
Picture:〃准备的图片〃
再加一辅助控件(只用于保存图片,方便快捷地使用进度条)Image,属性设置如下:
Picture:〃准备的图片〃
Visible:FALSE
说明:本文所讲的进度条并不是狭义上那种安装程序中常见的仅表示一个事件进程的进度条,而是把那些条形的,表示一个量的大小的图示统称为进度条。以此概念为基础让我们先来看看它的一些用途和类别,然后给出各类进度条的实现。
进度条的用途:
※在一般软件中表示执行进度
※在多媒体播放器中表示音量大小、频率节奏的变化…
※在游戏中表示角色的能量、生命值…
进度条的分类:
由以上用途可知,进度条大体可分为两类
第一类:自动变化的进度条(如安装程序中的进度条)
第二类:可由用户操作的进度条(如音量调节)
以下是两类进度条的代码。
实现第一类的方法:
Const MaxValue = 100
Const MinValue = 0
Dim Gene As Single
Dim ProValue As Single
Sub InitData()
Gene = Picture1.ScaleWidth / (MaxValue - MinValue)
End Sub
Sub SetProBar(value As Single)
Dim X As Single
ProValue = value
If ProValue > MaxValue Then
ProValue = MaxValue
Else
If ProValue < MinValue Then
ProValue = MinValue
End If
End If
Text1.Text = ProValue
X = (ProValue - MinValue) * Gene
With Picture1
Picture1.Picture = Image1.Picture
Picture1.Line (X, 0)-(.ScaleWidth, .ScaleHeight), vbWhite, BF
End With
End Sub
以上是实现第一类进度条的全部代码,它有相当的独立性,不管你准备的进度条有多长,此代码都可无须改变而应用于你的系统中。其中,MAXVALUE、MINVALUE为此进度条所表示的最大最小值,可由实际应用而定。
PROVALUE 为当前的进度值,可由它得到当前值,以便处理。
SETPROBAR 为实际使用的过程,在软件中通过调用此过程来改变进度条的长度。VALUE 的取值为 MINVALUE~MAXVALUEINITDATA 是初始化进度条长度和实际要表示的范围的比例因子,在软件中首先要调用此过程完成初始化工作。
第二类实现方法:
要实现此类进度条,只需在第一类的基础上再加上响应用户操作的部分即可
具体所加代码如下:
Private Sub picture1_MouseMove(Button As Integer, Shift As Integer, X As Single,Y As Single)
If Button = 1 Then
Picture1_MouseDown Button, Shift, X, Y
End If
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single,Y As Single)
If Button = 1 Then
ProValue = Int(X / Gene + MinValue + 1)
SetProBar ProValue
End If
End Sub
应用示例:
建一工程,然后加入下列控件,并写入所示代码即可。
控件:两个PictureBox,组成控件数组(属性设置如上)但:picture1(0)的BorderStyle:None
两个Label,组成控件数组并分别以与自已Index 值相同的PictureBox为父控件(只需把Label绘在或粘贴在相应的PictureBox上即可)属性:
AutoSize:True
Alignment:Center
BackStyle:Transparent
Label(1): Caption:〃当前音量0〃
Enabled:False
Label(0): Caption:〃0%〃
一个Timer:属性:Interval:50
三、实例
一个自动的进度条和由用户控制的进度条。
Option Explicit
′如果有多个进度条且表示值的范围不同
′则可设立一组范围值,最好能通过INDEX
′值同自已的进度条建立对应关系,以方便处理
Const MaxValue = 100
Const MinValue = 0
Dim Gene As Single
Dim ProValue(1) As Single
′生成比例因子,必须首先执行
Sub InitData()
Gene = Picture1(0).ScaleWidth /
(MaxValue - MinValue)
End Sub
′根据当前进度值设置进度条,INDEX指出是哪个进度条的值
Sub SetProBar(value As Single, Index As Integer)
Dim X As Single
Dim BkColor As Long
ProValue(Index) = value
′对当前进度值超出范围的处理
If ProValue(Index) > MaxValue Then
ProValue(Index) = MaxValue
Else
If ProValue(Index) < MinValue Then
ProValue(Index) = MinValue
End If
End If
′在存在多个进度条时分别设置各进度条的不同文本
Select Case Index
Case 1
Label1(Index).Caption = ProValue(Index) & 〃%〃
Case 0
Label1(Index).Caption = 〃当前音量〃 & ProValue(Index)
End Select
′计算出当前进度值所对应的进度条位置
X = (ProValue(Index) - MinValue) * Gene
With Picture1(Index).Picture = Image1.Picture
′把当前进度值所对应的进度条位置之后的图片用白色盖住
′它是此法实现思路的核心
Select Case Index
Case 1
bkcolor = vbWhite
Case 0
bkcolor = vbMenuBar
End Select
Picture1(Index).Line (X, 0)-(.ScaleWidth, _ .ScaleHeight), bkcolor, BF
End With
End Sub
′首先初始化比例因子
Private Sub Form_Load()
InitData
End Sub
′在用户操作INDEX为0的进度条时的响应
Private Sub picture1_MouseMove(Index As Integer, _
Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 And Index = 0 Then
Picture1_MouseDown Index, Button, Shift, X, Y
End If
End Sub
′根据当前鼠标坐标的X值(进度条若为纵向则使用Y值)
′计算出所对应的当前进度值,然后设置进度条
Private Sub Picture1_MouseDown(Index As Integer, _
Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 1 And Index = 0 Then
ProValue(Index) = Int(X / Gene + MinValue + 1)
SetProBar ProValue(Index), Index
End If
End Sub
′在演示中以定时器定时设置进度
′实际使用时当然是按事件完成的
′百分比来设置进度
Private Sub Timer1_Timer()
Static curval As Single
SetProBar curval, 1
curval = (curval + 1) Mod MaxValue
If curval = 0 Then
curval = MinValue
End If
End Sub
参考技术A 把下面的代码保存到一个文本文档里面,然后把文本文档的扩展名改为.frm
用vb6打开就能看到效果了。

'代码开始
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3090
ClientLeft = 60
ClientTop = 450
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3090
ScaleWidth = 4680
StartUpPosition = 3 '窗口缺省
Begin VB.Timer Timer1
Left = 480
Top = 2400
End
Begin VB.Label Label2
Caption = "Label2"
Height = 375
Left = 240
TabIndex = 1
Top = 120
Width = 4095
End
Begin VB.Label Label1
BorderStyle = 1 'Fixed Single
Caption = "Label1"
Height = 375
Left = 240
TabIndex = 0
Top = 120
Width = 4095
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Form_Load()
Label2.Width = 0
Label2.BackColor = vbBlue
Timer1.Interval = 10
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
a = 1
Label2.Width = Label2.Width + a
DoEvents
End Sub

VB 2008 进度条中的 IMAPI2

】VB2008进度条中的IMAPI2【英文标题】:IMAPI2inVB2008progressbar【发布时间】:2011-04-1612:18:51【问题描述】:我开始制作可以刻录CD/DVD的程序,一切正常。我找到了使用IMAPI2API进行刻录的方法,但现在我遇到了问题:我无法获得该燃... 查看详情

vb2005在读取一个txt文件的时候怎么可以显示一个进度条

...一个txt文件,并显示在一个textbox中,请问如何设置一个进度条,使之与读取进度相关联。这样做主要是因为读入的数据比较多,想判断是否死机。还请高手赐教,谢谢DimdrAsNewStreamReader("文件名")DimlAsLong=dr.BaseStream.LengthProg... 查看详情

关于vb.net中进度条使用问题

...下载的资源的URL地址),下载按钮BUTTOM1.现在我增加一个进度条控件,现想在按下下载按钮下载资源的同时,用进度条显示下载进度,该如何写代码,谢谢。VB.Net中提供了ProgressBar控件,用于显示进度条设置ProgressBar的Minimum和Maxim... 查看详情

vb怎么制作进度条?

进度条控件的位置:1.在控件工具箱中右键=>部件。2.在“部件”窗口中勾选Microsoftwindowscommoncontrols5.0或6.0。单击确定。3.然后控件工具箱中就有进度条了。改变样式方法:(我暂时只知道这种)下载一个SkinH,下载的文件夹里... 查看详情

java示例代码_用android中的计时器设置进度条

java示例代码_用android中的计时器设置进度条 查看详情

怎么用css制作进度条?

参考技术A如果是百分比的话,可以在进度条span上写样式。<spanstyle="width:60%"></span>这个60可以由开发传值过来。不过建议你把需求说详细一点。本回答被提问者和网友采纳 参考技术B可以用两个div来实现一个做外... 查看详情

c#进度条怎么用/c#progressbar的用法

1.打开MicrosoftVisualStudio2010,新建名字为【进度条】的程序。2.在新程序界面上放置合适的控件:包括,日志输出文本框控件;用于输入进度条长度的输入框;3个进度条的控制按钮,可以分别开始、暂停或者停止进度条的进度;添... 查看详情

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

】从“My.resources”VB.net复制文件的进度条【英文标题】:Progressbarforcopyingfilefrom\'My.resources\'VB.net【发布时间】:2012-12-0510:06:32【问题描述】:我正在尝试使用进度条从“My.resources”复制文件,我搜索了许多其他文件复制进度条脚... 查看详情

Swift 中的进度条 WebView

】Swift中的进度条WebView【英文标题】:ProgressbarWebViewinSwift【发布时间】:2015-01-2608:59:56【问题描述】:我正在用xcode快速编写一个webapp。我有一个问题“如何添加一个进度条来显示每个页面的加载情况?”@IBOutletvarwebView:UIWebView!... 查看详情

怎么用extjs写一个进度条和messagebox?

我想知道EXTJS4.0要调用哪些脚本,和怎么写一个进度条(范例中能控制多少秒后进度条读取完成自动跳转到某网页)和MESSAGEBOX(点击确认后能够跳转到某网页)的代码范例,最好把效果图一起发过来,我的邮箱:shcmhsy@vip.qq.com(... 查看详情

关于vb.net进度条的实例

我想编一个进度条程序,让它每0.5秒进度增加1%,并用文本显示当前的进度,该如何实现?这是我自己写的一个进度条控件,如图:边框粗细和边框颜色以及进度条颜色都可以调。进度条大小你可以自己拉伸。同时,进度条还提供了丰... 查看详情

VB.NET 中带有后台工作者的字幕进度条

】VB.NET中带有后台工作者的字幕进度条【英文标题】:MarqueeProgressBarwithBackgroundWorkerinVB.NET【发布时间】:2015-02-2010:06:27【问题描述】:我有一个主窗体,底部状态条有一个进度条。它设置为选取框样式。我希望它在何时保持动... 查看详情

vb如何实现进度条

如图显示,运行窗口form3的时候,进度条开始运行进度,当运行到百分之20的时候在标签1显示文字“123”然后运行到百分之50的时候,在标签1显示“456”进度到百分之百的时候,显示为“789”VB实现进度条的方法只需要5个步骤就... 查看详情

shell进度条怎么显示脚本执行进度

参考技术A可以用代码实现#!/bin/bashb=''i=0while[$i-le100]doprintf"progress:[%-50s]%d%%\r"$b$isleep0.1i=`expr2+$i`b=#$bdoneecho本回答被提问者采纳 查看详情

关于vb.net进度条的实例

我想编一个进度条程序,让它每0.5秒进度增加1%,并用文本显示当前的进度,该如何实现?该实例有很多实现方法,下面介绍一种不同的给你:首先要在窗体中载入以下控件:progressbar(进度条),label(用来实时显示文本提示),两个timer(分别控... 查看详情

android怎么自定义绘制如下图中这种进度条

...手册,例子文档随便看。1、说明  在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度。一个进度条也可不确定其进度。在不确定模式... 查看详情

如何在 Bootstrap 3 中为进度条设置动画?

...怎么做。我得到了宽度的值,但console.log(bar_width);返回px中的宽度,但不是%,如内联style="width:90%所示。我用代码重新创建了一个bo 查看详情

python和selenium怎么判断进度条

...,添加一个tdqm()即可。执行上一步的操作,就可以观察到进度条。selenium:拿到浏览器滚动条的js代码,然后执行,就可以看到进度条.通过模拟键盘的形式去滚动屏幕,就可以看到进度条其中通过driver.execute_script()执行js代码... 查看详情