您好,登錄后才能下訂單哦!
本篇內容介紹了“VB ConsoleProgressBar有什么作用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
CopyFiles負責取得源目錄下的一個文件列表,然后把它們復制到目的目錄下。另外,它還創建了一個ConsoleProgressBar對象來管理進度條:
Private Sub CopyFiles(ByVal srcDir As String, ByVal destDir As String) Const BufferSourceTopLine As Integer = 8 Const BufferDestinationTopLine As Integer = 7 Dim rowIndex As Integer = 7 Dim originalForegroundColor As ConsoleConsoleColor = Console.ForegroundColor Console.CursorVisible = False Console.Clear() Dim numberOfFiles As Integer numberOfFiles = My.Computer.FileSystem.GetFiles(srcDir).Count Dim PB As New ConsoleProgressBar(numberOfFiles) DisplayHeader(srcDir, destDir) Dim fileCounter As Integer = 1 For Each f As String In My.Computer.FileSystem.GetFiles(srcDir) Dim fi As New System.IO.FileInfo(f) Console.ForegroundColor = ConsoleColor.Green Console.SetCursorPosition(0, rowIndex) Console.Write(fi.Name) If rowIndex < Console.WindowHeight - 1 Then rowIndex += 1 Else Console.MoveBufferArea(0,BufferSourceTopLine, _ Console.WindowWidth, _ Console.WindowHeight - _ BufferSourceTopLine, _ 0, _ BufferDestinationTopLine) End If My.Computer.FileSystem.CopyFile(fi.FullName, destDir &"\" & fi.Name) pb.Update( fileCounter) fileCounter += 1 Next Console.ForegroundColor = originalForegroundColor Console.SetCursorPosition(0, Console.WindowHeight - 1) Console.CursorVisible = True End Sub
首先,該代碼保存當前的ForegroundColor。然后,它使用另外一種新特征把CursorVisible屬性設置為False。在清除控制臺窗口后,它檢索在源目錄下的文件個數并且使用這個數字作為VB ConsoleProgressBar構造器的***值。稍后,我還要討論有關于 ConsoleProgressBar的細節信息。
我調用DisplayHeader子程序來把一些有關復制操作的信息打印到控制臺窗口。由于其功能非常類似于DisplayUsage子程序,所以我在此省略對其細節的討論。
我使用了一個“For...Each”循環來遍歷在源目錄下的所有文件,并使用了一個rowIndex變量來跟蹤要把文件名打印到控制臺的哪一行。隨著循環的不斷執行,rowIndex每次增加1,直到到達控制臺窗口的底部為止。一旦到達控制臺窗口的底部,我利用另外一個新控制臺應用程序特征— MoveBufferArea方法(下一節討論)。
在更新顯示和復制文件后,我通過調用VB ConsoleProgressBar類的Update方法來更新進度條。
一旦循環結束并且文件復制結束,我再把ForegroundColor設置回其原來的顏色,并且把光標位置設置到控制臺窗口的最下面一行,并且使之再次可見。
“VB ConsoleProgressBar有什么作用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。