WinForm程序中使用控制台(console)作为输出窗口
2009-11-13 23:29
866 查看
最近写了一个随机模拟的计算程序,因为计算耗时很长,所以运算中要输出一些信息,以方便用户随时了解运算的进度以及其他信息。最初打算写一个log窗口类,使用textbox控件以及 progressbar,后来发现挺麻烦,远不及console窗口下的console.write和console.writeline方便。于是尝试直接将信息输出到控制台窗口。
1、 在winform程序中调用console窗口。这个使用Win32 API来完成。关于AllocConsole函数和FreeConsole函数的详细信息可以参见这里和这里。VB.NET的代码如下:
'先绘制出进度条的底色。
2
'2.b 根据计算线程的进度绘制进度条
Dim SumProg as Integer
Private Sub DrawProgressBar()Sub DrawProgressBar
SumProg += 1
Console.Write(”{0}%”, SumProg)
Console.SetCursorPosition(0, Console.CursorTop - 1)
Console.BackgroundColor = ConsoleColor.Yellow
For p As Integer = 0 To SumProg - 1
Console.Write(” “)
Next
Console.BackgroundColor = ConsoleColor.Black
Console.WriteLine()
End Sub
下面是一张效果截图。
PS:第一次在园子发文章,希望大家多多指教。绘制进度条的代码写得很随意,主要目的只是想说明下思路。现在明白为什么黑洞洞的console为什么一直不死——有时候它的确方便好用。
ps1: 再补充下,具体实现时,在form上提供一个“视图”菜单项,通过可选菜单来控制console窗口的可见和隐藏(调用FreeConsole)。直接关闭console会直接导致进程关闭.......
1、 在winform程序中调用console窗口。这个使用Win32 API来完成。关于AllocConsole函数和FreeConsole函数的详细信息可以参见这里和这里。VB.NET的代码如下:
'先绘制出进度条的底色。
2
'2.b 根据计算线程的进度绘制进度条
Dim SumProg as Integer
Private Sub DrawProgressBar()Sub DrawProgressBar
SumProg += 1
Console.Write(”{0}%”, SumProg)
Console.SetCursorPosition(0, Console.CursorTop - 1)
Console.BackgroundColor = ConsoleColor.Yellow
For p As Integer = 0 To SumProg - 1
Console.Write(” “)
Next
Console.BackgroundColor = ConsoleColor.Black
Console.WriteLine()
End Sub
下面是一张效果截图。
PS:第一次在园子发文章,希望大家多多指教。绘制进度条的代码写得很随意,主要目的只是想说明下思路。现在明白为什么黑洞洞的console为什么一直不死——有时候它的确方便好用。
ps1: 再补充下,具体实现时,在form上提供一个“视图”菜单项,通过可选菜单来控制console窗口的可见和隐藏(调用FreeConsole)。直接关闭console会直接导致进程关闭.......
相关文章推荐
- WinForm程序中使用控制台(console)作为输出窗口
- WinForm程序中使用控制台作为输出窗口
- WinForm使用Console窗口输出Log
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- WinForm程序启动控制台窗口Console
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- C#WinForm程序显示控制台窗口Console
- WinForm程序启动控制台窗口Console
- MFC,Win32程序向控制台(Console)窗口输出调试信息
- C#WinForm程序显示控制台窗口Console
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- GUI程序如何使用控制台输出调试信息[zz][MFC调用win32窗口显示调试信息,使用AllocConsole 函数 ]
- 全局程序集GlobalAssemblyInfo.cs及WinForm程序如何在Debug模式下启动控制台窗口Console
- WinForm程序启动控制台窗口Console
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- 在MFC,Win32程序中向控制台(Console)窗口输出调试信息
- 获取控制台窗口的句柄(HWND)和程序中输出回车键
- GUI程序也能使用控制台窗口