设为首页收藏本站language 语言切换
查看: 1625|回复: 0
收起左侧

WinForm程序中使用控制台作为输出窗口

[复制链接]
发表于 2010-2-25 10:52:50 | 显示全部楼层 |阅读模式
<p >最初打算写一个log窗口类,使用textbox控件以及 progressbar,后来发现挺麻烦,远不及console窗口下的console.write和console.writeline方便。于是尝试直接将信息输出到控制台窗口。<p ><p >1、 在winform程序中调用console窗口。这个使用Win32 API来完成。关于AllocConsole函数和FreeConsole函数的详细信息可以参见这里和这里。VB.NET的代码如下:<p ><p >Form程序调用和释放Console窗口1 Public Class ConsoleHelperClass ConsoleHelper2 ‘调用控制台窗口3  _4 Public Shared Function AllocConsole()Function AllocConsole() As Boolean5 End Function67 ’释放控制台窗口8  _9 Public Shared Function FreeConsole()Function FreeConsole() As Boolean10 End Function11 End Class <p >      在调用AllocConsole后,就将console窗口调配给当前进程使用,在当前进程的任何位置我们都可以使用console.write和console.writeline函数进行程序信息的输出了。 <p ><p >2、 console窗口下绘制一个进度条。<p ><p >;1' 先绘制出进度条的底色。2 Private Sub Init()Sub Init()3 Console.WriteLine(”开始计算:” & Date.Now.ToLongDateString & Date.Now.ToLongTimeString)4 ‘绘制一个进度条背景5 Console.BackgroundColor = ConsoleColor.DarkCyan6 For i As Integer = 0 To 997 Console.Write(” “)8 Next9 Console.BackgroundColor = ConsoleColor.Black10 Console.WriteLine()11 End Sub1213' 2.b 根据计算线程的进度绘制进度条14 Dim SumProg as Integer15 Private Sub DrawProgressBar()Sub DrawProgressBar16 SumProg += 117 Console.Write(”{0}%”, SumProg)18 Console.SetCursorPosition(0, Console.CursorTop - 1)19 Console.BackgroundColor = ConsoleColor.Yellow20 For p As Integer = 0 To SumProg - 121 Console.Write(” “)22 Next23 Console.BackgroundColor = ConsoleColor.Black24 Console.WriteLine()25 End Sub <p ><p >下面是一张效果截图。<p ><p ><center><img  src="http://www.hh010.com/upload_files/article/244/9_yfoqa01872171.jpg"></center><p >< align=right></P><p align="center"></p></p>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-4 03:42 , Processed in 0.058957 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表