程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> Console小技巧——字符塗鴉

Console小技巧——字符塗鴉

編輯:關於.NET

這篇主要講解如何使用簡單的字符界面模擬圖形界面。

Console針對是針對字符界面的,沒有圖形界面那麼好看,但是我們稍微花點心思,Console程序照樣 能做得很有意思。使用過Linux的朋友(特指使用字符界面)都會對wget、rpm、top等這些命令的字符輸 出驚歎。

我剽竊了前輩大牛們的創意,用C#在Console程序實現了一個CPU負載監控,功能類似於“任務管理器 ”的“性能”選項卡的CPU部分,當然功能弱很多啦。先上一張任務管理器的圖吧。

這是我的Console程序的輸出。

由於字符界面很難做到圖形化界面那樣細膩,所以僅將CPU的平均負載畫出來,每個核的負載沒有畫出 來。

這樣的Console程序基本思路是:

1。畫出一個框架。

2。定位光標,然後更新緩沖區。

以下給出一段畫出框架的代碼:

private static void BuildFramework()
{
  Console.WriteLine(@"                  CPU LOADING                ");// 0
   Console.WriteLine(@"                 ~~~~~~~~~~~                 ");// 1
  Console.WriteLine(@" 11% [                                    ]");// 2
  Console.WriteLine(@"    ========================================================================");// 3 
   Console.WriteLine(@"100% +---------------------------------------------------------------- ------+");// 4  +
  Console.WriteLine(@" 90% +----------------------------------- -----------------------------------+");// 5  |
  Console.WriteLine(@" 80% +------ ----------------------------------------------------------------+");// 6  |
   Console.WriteLine(@" 70% +--------------------------------------------------------------- -------+");// 7  |
  Console.WriteLine(@" 60% +---------------------------------- ------------------------------------+");// 8  |  
  Console.WriteLine(@" 50% +- ---------------------------------------------------------------------+");// 9   yLenth:11
  Console.WriteLine(@" 40% +---------------------------------------------- ------------------------+");// 10 |
  Console.WriteLine(@" 30% +------------------ ----------------------------------------------------+");// 11 |
  Console.WriteLine (@" 20% +----------------------------------------------------------------------+");// 12  |
  Console.WriteLine(@" 10% +---------------------------------------------------- ------------------+");// 13 |
  Console.WriteLine(@" 0% +------------------------- ---------------------------------------------+");// 14 +
  Console.WriteLine(@"    ========================================================================");// 15
  //          |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   |
  //         0  5  10  15  20  25  30  35  40  45   50  55  60  65  70  75
  //            |<------------------ ----- xLength:70 -------------------------------->|
}

注釋部分相當於標尺,方便第二步的定位光標。

定位光標主要使用 Console.SetCursorPosition(int left , int top) 這個方法,很顯然left相當於 橫坐標,top相當於總坐標啦。有了這個“武器”就可以開始塗鴉了。

以下給出一段話 “ProcessBar” 的代碼:

/ 用#畫出類似ProcessBar的效果
Console.SetCursorPosition(6, 2);
int  graphics = int.Parse(loading) * xLength / 100;
for (int i = 0; i <  graphics; i++)
{
  Console.Write(@"#");
}
for (int i = 0; i <  xLength - graphics; i++)
{
  Console.Write(@" ");
}

如果結合上一篇:[原]Console小技巧——七彩輸出 在輸出中著色,那就更加漂亮了。

ActiveConsole源代碼下載

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved