最近写了一个随机模拟的计算程序,因为计算耗时很长,所以运算中要输出一些信息,以方便用户随时了解运算的进度以及其他信息。因此作者使用控制台作为输出窗口,小小技巧也是一种比较方便的方法。

开端计划写一个log窗口类,运用textbox控件以及 progressbar,后来发现挺费事,远不及console窗口下的console.write和console.writeline便利。所以测验直接将信息输出控制台窗口。

1、 在WinForm程序中调用console窗口。这个运用Win32 API来完结。关于AllocConsole函数和FreeConsole函数的详细信息能够拜见这儿和这儿。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

下面是一张作用截图。

WinForm程序中运用控制台作为输出窗口(winform显示控制台)  WinForm 控制台 输出 第1张

【修改引荐】

  1. C#在WinForm开发中Label换行办法
  2. C#中运用多线程拜访Winform问题解决方案
  3. 体会VS.NET 2005的winform新功能
转载请说明出处
知优网 » WinForm程序中运用控制台作为输出窗口(winform显示控制台)

发表评论

您需要后才能发表评论