我正在为学校项目创建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