`
yaojialing
  • 浏览: 255757 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

VB进度条实现

    博客分类:
  • VB
阅读更多

通常对一个长时间执行的任务,如果不给以用户友好提示,会造成用户误解以为是程序出问题。对这样的情况一般是做进度条或者一个动态加载的图片实现用户友好性。这两种方式在JAVA里面很好实现,小菜一碟,但VB实现起来就麻烦点,可能本人对VB了解得还不够多,近期在弄这个VB客户端用户提示的,抽空写篇心得,方便自己以后查阅。

 

VB用户友好提示有几种方法:

1、进度条(使用VB自带进度条控件)

2、使用动态图片

 

对于VB自带进度条控件,他的实现方式是我们长时间执行的任务在一个for循环里面,因VB是以单线程模式运行,程序只有等待循环运行结束后才执行别的程序代码,这样机器一直处于循环之中,而不能响应别的事情,对CPU资源来说是一种浪费,那么可不可以既让循环执行,又可以执行程序另外的一部分代码呢?答案是可以的,用多线程(VB多线程可以用API函数实现和创建activex_exe实现)或者DoEvents。这里实现方式是DoEvents。通过在循环里面调用DoEvents释放CPU让Timer执行进度条任务。

 

Form1.frm(4个控件:ProgressBar1、Text1、Timer2、Command1)

Option Explicit Private Sub Command1_Click() Dim a As Integer Form1.Enabled = False Timer2.Enabled = True For a = 0 To 2000 Text1.Text = a Sleep 1 DoEvents Next ProgressBar1.Value = 100 Timer2.Enabled = False Form1.Enabled = True MsgBox "Download Finish" End Sub Private Sub Form_Load() Timer2.Enabled = False End Sub Private Sub Timer2_Timer() Do If ProgressBar1.Value = 100 Then ProgressBar1.Value = 0 ProgressBar1.Value = ProgressBar1.Value + 10 Exit Do Loop End Sub


 

效果:

 

 

 

对于使用动态图片实现用户友好提示的,VB不支持动态图片格式GIF,需要分解GIF图片为多个切片图片,然后用timer一帧一帧的实现。

 

 

上面两种方式单个单个的运行都还可以,但是当我们执行一个长时间运行的任务时调用它们,在IDE中调试是可以实现,但是打包安装之后运行就不行,非得我们的大任务执行完之后才会调用,或者调用完进度条之后才调用大任务的。在VB中总是这种单任务运行方式。

 

其实上面的两种方法,第一种只在长时间执行的循环里面有效果,如果长时间执行的不是一个循环而是其他的操作,还是得多线程方式实现。第二种也不稳定,打包,安装之后运行我们的程序还是有个先后调用问题,根本不是异步方式,又还是得多线程,NND胸。

 

上面的两种方法遇到不是一般的需求,只能用多线程实现了。

见:http://yaojialing.iteye.com/blog/1107370

  • 大小: 11.8 KB
  • 大小: 20 KB
分享到:
评论

相关推荐

    VB进度条(转载)

    ### VB进度条实现详解 在Visual Basic (VB)编程中,进度条是一个常见的用户界面元素,用于指示操作的完成程度,如文件传输、数据处理等。本文将深入探讨VB中几种实现进度条的方法,包括使用内置组件、文本、图片...

    VB进度条控件 调用方法.rar

    "VB进度条控件 调用方法.rar" 文件包含的就是如何在VB程序中使用进度条控件的源码和相关方法。下面我们将详细介绍如何在VB中使用进度条控件,以及一些关键知识点。 首先,VB中的进度条控件通常被称为ProgressBar,...

    好看的VB进度条

    本话题主要围绕“好看的VB进度条”展开,探讨如何在VB中创建并自定义多种形状和颜色的进度条。 一、基本的VB进度条控件 在VB中,我们通常使用ProgressBar控件来实现进度条功能。这个控件可以在工具箱中找到,拖放到...

    VB进度条的演示程序

    这个“VB进度条的演示程序”旨在帮助开发者理解如何在VB应用中有效地集成和使用进度条控件。 首先,我们来探讨一下“进度条”这一概念。进度条通常表现为一个水平或垂直的条状图形,其填充部分代表了任务完成的进度...

    vb进度条实例

    下面是一些关于VB进度条的关键知识点: 1. **添加ProgressBar控件**:在VB的工具箱中找到ProgressBar控件,将其拖放到窗体上。你可以调整其大小和位置,以适应你的界面设计。 2. **属性设置**:设置ProgressBar的...

    vb精美进度条控件源码

    1. `ucProgressBar.ctl`:这是自定义控件文件,包含了进度条控件的定义和实现。开发者可以在这个文件中找到关于控件外观和行为的代码,例如设置进度条的颜色、样式、动画效果等。 2. `ucProgressBar.ctx`:上下文...

    分享一款VB进度条控件及用法示例.rar

    本资源“分享一款VB进度条控件及用法示例.rar”提供了一个独特的、平面型的进度条控件,与Windows自带的经典3D样式有所不同,它提供了多种颜色风格,可以更好地融入现代软件设计。 进度条控件在VB中通常用于指示一...

    漂亮XP风格VB进度条控件源码

    【标题】:“漂亮XP风格VB进度条控件源码”是指使用Visual Basic(VB)编程语言开发的一个具有XP系统风格的进度条控件。在Windows操作系统中,进度条控件通常用于显示程序执行过程中的进度,给用户一个等待任务完成...

    漂亮XP风格VB进度条控件源码.rar

    学习并使用这个"漂亮XP风格VB进度条控件源码",开发者可以深入理解自定义控件的实现原理,提升UI设计能力,同时也能在实际项目中提高应用程序的美观度和用户满意度。对于那些希望提升VB应用程序视觉效果的开发者来说...

    如何实现进度条-VB.net_vb.net_

    在VB.NET编程环境中,创建一个进度条控件可以极大地提升用户...总的来说,这个项目是一个基础的VB.NET进度条模拟,展示了如何结合Timer和Label实现进度更新。在实际开发中,你可以根据需要进一步定制和扩展这个功能。

    VB进度条妙用,在状态栏显示

    1. **VB进度条控件介绍** VB中的进度条控件称为`ProgressBar`,它提供了图形化的表示,用于展示任务的完成度。通常,进度条从左到右填充,表示任务从开始到结束的过程。可以通过设置`Minimum`和`Maximum`属性来定义...

    vb进度条程序源代码

    "ccrpprg"这个文件名可能是源代码文件或项目文件,里面包含了具体的VB进度条程序实现。要深入学习或修改这个程序,你需要使用VB开发环境打开文件,查看和理解其中的代码结构和逻辑。这将帮助你掌握如何在实际项目中...

    一款VB水晶进度条控件

    【VB水晶进度条控件详解】 在VB(Visual Basic)编程环境中,开发人员常常需要使用各种控件来增强用户界面的交互性和视觉效果。其中,进度条控件是一种常见的元素,用于显示任务或过程的进度状态。"VB水晶进度条...

    vb.net制作的漂亮进度条

    在VB.NET编程环境中,开发人员经常需要为用户提供视觉反馈,以指示某个操作的状态或进度,此时进度条控件就显得尤为重要。"vb.net制作的漂亮进度条"项目提供了一个美观且功能丰富的进度条控件,这将提升应用程序的...

    VB进度条控件.rar

    总的来说,"VB进度条控件.rar" 提供了一个实用且美观的组件,使得VB开发者能够更轻松地在应用程序中实现动态的进度指示,同时提供了示例代码帮助理解和使用。通过熟练掌握这类控件的使用,开发者能够创建出更具吸引...

    VB 制作进度条

    VB提供了多种方式来实现进度条,其中最常见的是使用ProgressBar控件。 1. **ProgressBar控件介绍** ProgressBar控件是VB中的标准控件,它可以在窗体上显示一个条形的进度指示器。这个控件有两种样式:连续条形和...

    vb.net进度条,线程,显示

    下面将详细介绍如何在VB.NET中使用进度条、线程以及如何实现缓慢显示。 首先,让我们了解如何添加和使用进度条。在VB.NET中,可以在工具箱中找到ProgressBar控件,将其拖放到窗体上。然后,可以通过调整其Minimum和...

    VB自定义进度条

    因此,自定义VB进度条成为了一种选择。这个“VB自定义进度条”分享的正是开发者为了克服原生控件限制而创建的高级解决方案。 自定义VB进度条通常涉及以下几个关键知识点: 1. **自定义外观**:原生的VB进度条外观...

    类似 ccrpprg 进度条控件 vb.net 版

    标题提到的"ccrpprg 进度条控件"是一个专为VB.NET设计的进度条组件,可能是为了提供更加美观或功能丰富的进度反馈体验。这个控件可能是开发者根据自己的需求定制的,旨在替代系统自带的默认进度条控件,比如...

Global site tag (gtag.js) - Google Analytics