本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《
阿里云开发者社区用户服务协议
》和
《
阿里云开发者社区知识产权保护指引
》。如果您发现本社区中有涉嫌抄袭的内容,填写
侵权投诉表单
进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
本文转载:
http://blog.csdn.net/oyi319/article/details/5753311
2.WinForm程序和控制台窗口Console
如果你调试过SharpDevelop的源程序,会发现它在DEBUG模式时会出现一个控制台窗口,以显示日志信息。或许我使用的方法与其不同,不过你可以试一试,写出我们自己的调试日志代码。
首先要解决的问题是如何在Debug模式时显示Console窗口。我确定,这是一个WinForm项目,也没有改过它的输出类型。我们需要在项目的入口点使用一些API函数将控制台显示出来:
它们是 AllocConsole 和 FreeConsole。
然后我们使它在Main()开始处判断DEBUG编译标记,调用AllocConsole方法显示控制台,然后在Main()的结束处判断DEBUG编译标记,调用FreeConsole方法关闭控制台。这样,我们就可以使用Console.Write等方法将调试信息显示在这个控制台窗口里。
为了达到更好的效果,我们写一个Shell类,用它来封装Console.WriteLine方法,输出个性化信息。我是这样做的,根据输出到控制台的文本的前几个字判断为“警告”、“错误”、“注意”时,输出带有黄色、红色、绿色的文字,其他输出信息输出控制台缺省的灰色文字,以起到区分效果,还要在每条信息前加上输出信息的当时时间。
这个Shell类是这样的:
public
static
void WriteLine(
string format,
params
object[] args)
WriteLine(
string.Format(format, args));
public
static
void WriteLine(
string output)
Console.ForegroundColor = GetConsoleColor(output);
Console.WriteLine(@
"[{0}]{1}", DateTimeOffset.Now, output);
private
static ConsoleColor GetConsoleColor(
string output)
if (output.StartsWith(
"警告"))
return ConsoleColor.Yellow;
if (output.StartsWith(
"错误"))
return ConsoleColor.Red;
if (output.StartsWith(
"注意"))
return ConsoleColor.Green;
return ConsoleColor.Gray;
Shell.WriteLine(
"/tWritten by Oyi319");
Shell.WriteLine(
"/tBlog: http://blog.csdn.com/oyi319");
Shell.WriteLine(
"{0}:{1}",
"警告",
"这是一条警告信息。");
Shell.WriteLine(
"{0}:{1}",
"错误",
"这是一条错误信息!");
Shell.WriteLine(
"{0}:{1}",
"注意",
"这是一条需要的注意信息。");
Shell.WriteLine(
"");
#endif
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(
false);
Application.Run(
new Form1());
#if DEBUG
Shell.WriteLine(
"注意:2秒后关闭...");
Thread.Sleep(2000);
FreeConsole();
#endif
在C语言中,SetConsoleTextAttribute(参数1,参数2)是设置控制台窗口字体颜色和背景颜色的函数。GetStdHandle(参数)函数用于获得句柄
在C语言中,SetConsoleTextAttribute(参数1,参数2)是设置控制台窗口字体颜色和背景颜色的函数。
参数1:句柄
参数2:颜色
齊天大聖-
【OpenGL】二十四、OpenGL 纹理贴图 ( 读取文件内容 | 桌面程序添加控制台窗口 | ‘fopen‘: This function may be unsafe 错误处理 )(二)
【OpenGL】二十四、OpenGL 纹理贴图 ( 读取文件内容 | 桌面程序添加控制台窗口 | ‘fopen‘: This function may be unsafe 错误处理 )(二)
【OpenGL】二十四、OpenGL 纹理贴图 ( 读取文件内容 | 桌面程序添加控制台窗口 | ‘fopen‘: This function may be unsafe 错误处理 )(一)
【OpenGL】二十四、OpenGL 纹理贴图 ( 读取文件内容 | 桌面程序添加控制台窗口 | ‘fopen‘: This function may be unsafe 错误处理 )(一)