最初打算寫一個log窗口類,使用textbox控件以及 progressbar,後來發現挺麻煩,遠不及console窗口下的console.write和console.writeline方便。於是嘗試直接將信息輸出到控制台窗口。
1、在winform程序中調用console窗口。這個使用Win32 API來完成。VB.NET的代碼如下:
Form程序調用和釋放Console窗口
1 Public Class ConsoleHelperClass ConsoleHelper
2 ‘調用控制台窗口
3 _
4 Public Shared Function AllocConsole()Function AllocConsole() As Boolean
5 End Function
6
7 ’釋放控制台窗口
8 _
9 Public Shared Function FreeConsole()Function FreeConsole() As Boolean
10 End Function
11 End Class
在調用AllocConsole後,就將console窗口調配給當前進程使用,在當前進程的任何位置我們都可以
使用console.write和console.writeline函數進行程序信息的輸出了。
2、console窗口下繪制一個進度條。
;1' 先繪制出進度條的底色。
2 Private Sub Init()Sub Init()
3 Console.WriteLine(”開始計算:” & Date.Now.ToLongDateString & Date.Now.ToLongTimeString)
4 ‘繪制一個進度條背景
5 Console.BackgroundColor = ConsoleColor.DarkCyan
6 For i As Integer = 0 To 99
7 Console.Write(” “)
8 Next
9 Console.BackgroundColor = ConsoleColor.Black
10 Console.WriteLine()
11 End Sub
12
13' 2.b 根據計算線程的進度繪制進度條
14 Dim SumProg as Integer
15 Private Sub DrawProgressBar()Sub DrawProgressBar
16 SumProg += 1
17 Console.Write(”{0}%”, SumProg)
18 Console.SetCursorPosition(0, Console.CursorTop - 1)
19 Console.BackgroundColor = ConsoleColor.Yellow
20 For p As Integer = 0 To SumProg - 1
21 Console.Write(” “)
22 Next
23 Console.BackgroundColor = ConsoleColor.Black
24 Console.WriteLine()
25 End Sub
下面是一張效果截圖。