none
VB.NET 进度条获取代码执行进度 RRS feed

  • 问题

  • 软件有个加载界面,原本我是用计时器控制进度条,估算加载时间,让进度条大约在那个时间充满并退出窗体。。问题来了。。配置低的电脑或者是其它特殊情况下进度条满可是却没加载完毕,这时执行了Me.Close()。导致软件在后面的窗体中错误。如何让进度条读取到代码的执行进度?我使用的是:
    VB2008.进度条是ProgressBar控件

    还有,就是如果进度条在5秒内满了,那么要到5秒的时候才能结束加载界面,如何做到?(加载界面有一点广告效果,所以即使加载完毕也要停留一下)
    就是说,5秒内加载完,那么等5秒的时候再执行接下来的代码,5秒没有加载好,那么加载好的时候再执行代码。
    • 已移动 feiyun0112Moderator 2009年2月9日 4:03 VB.NET (从 .NET Framework 一般性问题讨论区 移动到 Visual Basic)
    2009年2月7日 4:53

答案

全部回复

  • 你好!
       定义一个计时器控件,如果你想进度条精确些可以设置短一些的时间间隔,每当Elapse事件触发的时候就查询加载的进度,然后更新进度条的显示状态。 

    周雪峰
    2009年2月7日 6:18
    版主
  •  详细点,怎么查询加载状态的
    2009年2月7日 13:34
  •  其实就和你另一个label问题一样  每个步骤  你就给 progressbar 的value + 一个数字就好了
    Guitar Hero IV -- Singing Rock & Roll.
    2009年2月7日 14:08
  • 要看你加载的是什么界面,用什么方式加载的了。 
    周雪峰
    2009年2月8日 2:34
    版主
  • 判断一个变量,是否加载完毕


    http://feiyun0112.cnblogs.com/
    2009年2月9日 3:17
    版主
  • 最近没空,好久没来看了。。。

    楼上的各位都没明白啊。最重要的是5秒内加载完成则等待5秒时才退出,5秒后才加载完成则直接退出。

    至于加载的方式:

    提供部分源码:

            Me.BackgroundImage = System.Drawing.Image.FromFile("res\load bg.png")
            PictureBox1.Image = System.Drawing.Image.FromFile("res\logo.png")
            PictureBox2.Image = System.Drawing.Image.FromFile("res\soft.png")
            PictureBox3.Image = System.Drawing.Image.FromFile("res\web.png")
            Try
                FileOpen(1, "config.cfg", OpenMode.Input)
                configstate = LineInput(1)
                startingstate = LineInput(1)
                FileClose(1)
                If Not configstate = "rxtfsoft config" Then
                    error1.Show()
                    error1.Label3.Text = "error000001"
                    Me.Close()
                End If
            Catch
                error1.Show()
                Me.Close()
            End Try

    是在加载窗体的 Form_Load 事件中写的。
    只有加载图片和打开文件并导入到变量两种内容
    2009年2月12日 11:48
  • 你不要直接close, 程序开始前几下时间,结束时机下时间,比较时间

    5秒内就在sleep(5-执行的时间)
    5秒后则直接退出


    http://feiyun0112.cnblogs.com/
    2009年2月13日 0:46
    版主