自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WinForm程序中使用控制臺作為輸出窗口

開發(fā) 后端
最近寫了一個隨機模擬的計算程序,因為計算耗時很長,所以運算中要輸出一些信息,以方便用戶隨時了解運算的進度以及其他信息。因此作者使用控制臺作為輸出窗口,小小技巧也是一種比較方便的方法。

最初打算寫一個log窗口類,使用textbox控件以及 progressbar,后來發(fā)現(xiàn)挺麻煩,遠不及console窗口下的console.write和console.writeline方便。于是嘗試直接將信息輸出到控制臺窗口。

1、 在winform程序中調(diào)用console窗口。這個使用Win32 API來完成。關(guān)于AllocConsole函數(shù)和FreeConsole函數(shù)的詳細信息可以參見這里這里。VB.NET的代碼如下:

Form程序調(diào)用和釋放Console窗口
 1 Public Class ConsoleHelperClass ConsoleHelper
 2 ‘調(diào)用控制臺窗口
 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 
在調(diào)用AllocConsole后,就將console窗口調(diào)配給當(dāng)前進程使用,在當(dāng)前進程的任何位置我們都可以
使用console.write和console.writeline函數(shù)進行程序信息的輸出了。

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 根據(jù)計算線程的進度繪制進度條
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

下面是一張效果截圖。

【編輯推薦】

  1. C#在WinForm開發(fā)中Label換行方法
  2. C#中使用多線程訪問Winform問題解決方案
  3. 體驗VS.NET 2005的winform新功能
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2024-04-28 10:58:00

C#編程窗口關(guān)閉事件

2011-07-06 15:25:33

Windows控制臺

2010-12-21 14:32:43

操作控制臺

2014-08-11 11:12:35

Jansi

2022-03-30 08:40:00

JavaScript控制臺

2011-06-10 15:21:25

Qt 控制臺

2023-02-02 09:33:04

Linux控制臺程序

2011-07-01 18:35:17

QT 控制臺

2009-06-15 09:50:34

JBoss控制臺

2011-08-08 10:55:14

IOS 控制臺 Consol

2011-07-19 15:38:15

故障恢復(fù)控制臺

2009-08-19 15:31:32

C#控制臺應(yīng)用程序

2011-07-11 16:25:25

控制臺

2011-07-11 11:05:09

Windows控制臺

2011-07-27 13:59:04

2011-07-11 09:57:19

WINDOWS控制臺DOS命令

2011-07-12 15:18:01

SQLite數(shù)據(jù)庫引擎

2021-06-17 11:34:54

SLS 阿里云

2009-10-10 10:45:04

VB 2005新型控制

2009-03-04 10:10:49

控制臺桌面虛擬化Xendesktop
點贊
收藏

51CTO技術(shù)棧公眾號