我正在爲學校項目創建ASCII接口,但我遇到了一些問題。C#:在用戶修改後重置控制檯顏色托盤
Output & properties window for CMD |Screenshot|
我最初修改的顏色是有點更容易對眼睛和更美觀,只是因爲我傾向於使用醇」 cmd.exe的公平一點,但看起來像它的回來惹我。柔軟的暗藍色金絲雀黃色文字,看起來沒問題。顯然,Console.ConsoleColor從我在cmd.exe屬性窗口中修改的顏色中獲取所有顏色。不好!我不明白爲什麼這兩個是分開的:/
任何人都知道一種方法來覆蓋此托盤?我希望能夠在代碼中設置RGB,但是如果有一種方法可以訪問System.Drawing.Color托盤,那就是kickass!
我在編程很新在這裏,所以我會很欣賞一個很好的解釋回答,我不挑剔但是:P
下面是創建上面的輸出代碼:
//show a title
Console.Title = "Contact Book";
//set up the console window all nice like
Console.SetWindowSize(80, 50);
Console.SetBufferSize(80, 50);
//my attempt to reset the colors :(does not work
Console.ResetColor();
Console.BackgroundColor = ConsoleColor.Black;
Console.ForegroundColor = ConsoleColor.White;
Console.Clear();
//write some stuff... :/
Console.WriteLine("{0} {1}", Console.LargestWindowWidth, Console.LargestWindowHeight);
Console.WriteLine("11111111112222222222333333333344444444445555555555666666666667777777777888888888889999999999900000000000");
for (int i = 2; i != 10; i++)
{
Console.WriteLine("{0}", i);
}
PS:會嵌入圖像,但這是我第一次在stackoverflow.com,所以我沒有代表:)
PInvoke eh?好的!新玩具! 我沒想到你幾乎不想重寫用戶的偏好,但在這種情況下,我正在像ASCII天的遊戲一樣工作,並且讓一組可靠的顏色更合理能夠合作。只是爲了讓設計人員能夠在多臺計算機上提供一致的體驗。 (這確實讓我想,也許我應該有一個選項來啓用/禁用覆蓋某處) 我會upvote這個,但唉,我只是一個noob。非常感謝 :) – 2011-03-25 04:41:32