本文向大家介绍VB Update方法,可能好多人还不了解VB Update方法,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。在VB Update方法被调用前,在ConsoleProgressBar对象中什么也没有发生:
- Public Sub Update(ByVal CurrentValue As Long)
- m_currentValue = CurrentValue
- m_currentBarLength = CInt((m_currentValue / m_maximumValue) * m_length)
- Refresh()
- End Sub
这个VB Update方法使用一个值作参数(在此是指当前刚刚复制的文件数)。我设置成员m_currentValue,然后计算m_currentBarLength。计算的结果为进度条当前应该覆盖的列数。
最后,我调用Refresh方法,它又调用UpdatePercentComplete、UpdateProgressBar和UpdateMessageBar方法。
因为所有这三个方法功能相类似,所以我将集中讨论UpdateProgressBar方法:
- Private Sub UpdateProgressBar()
- Dim originalForegroundColor As ConsoleConsoleColor = Console.ForegroundColor
- Dim originalBackgroundColor As ConsoleConsoleColor = Console .BackgroundColor
- Console.ForegroundColor = ConsoleColor.Black
- Console.BackgroundColor = ConsoleColor.Green
- Console.SetCursorPosition(m_left + 1 m_progressBarRow)
- Dim progress As New String("O", m_currentBarLength)
- Console.Write(progress)
- Console.ForegroundColor =originalForegroundColor
- Console.BackgroundColor = originalBackgroundColor
- End Sub
首先,该代码保存当前的前景和背景颜色。然后,它把ForegroundColor属性设置为黑色,把BackgroundColor属性设置为绿色。在把光标放置到进度条的左边缘后,它打印一串长度为m_currentBarLength的“O”。
其它问题
这个DirCopy应用程序,虽然有些用处,但是还远非成品。为了使其更为强壮,还需要增加大量的错误处理方式。你还可以改进ConsoleProgressBar类以实现更灵活的控制。下列是一些可能的改进:
◆允许控制进度条的位置和长度
◆允许百分比完成区域放到你选择的任何位置
◆允许定制进度条中的消息
◆添加一个选项以选择水平的或垂直的进度条
【编辑推荐】