本篇博客将介绍如何使用Visual Studio新建一个WinForm工程,由于我还不知道有什么实时地看到程序输出的方法(调试当然是一个好方法),因此参照同事的代码, 加入了一个输出log的功能。
一、新建一个WinForm工程,此处我使用的是VS2019,项目名称我这里就自己起一个叫做Test好了:
如上图可以看到刚创建出来的工程结构如上图,此时一个最原始的WinForm工程就创建好了,直接运行一下会出现一个空白的窗口。
二、Log功能
在项目名称上,右键 --> 添加 --> 新建项,直接选择第一个“类”这一项,然后给新创建的文件起一个名字,我这里是叫做Utils.cs
将新产生的Utils.cs文件中的代码替换为如下:
using System;
using System.IO;
using System.Text;namespace Test
{class Utils{//写log文件private static bool first = true;//是否程序启动后首次执行WriteLog这个方法(创建log文件,并且只创建一次)private static bool delete = false;//是否删除上一次的log(只保留最近的一份log)private static string fileName = null;//日志文件名private static object locker = new object(); //解决多线程访问同步问题public static void WriteLog(string logMessage){lock (locker){DateTime now = DateTime.Now;string filePath = "Log";//日志文件夹路径if (delete){if (Directory.Exists(filePath)){DirectoryInfo directoryInfo = new DirectoryInfo(filePath);FileInfo[] infos = directoryInfo.GetFiles();foreach (FileInfo fileInfo in infos){fileInfo.Delete();}}delete = !delete;}if (first){fileName = "Log_" + now.ToString("yyyyMMddHHmmss") + ".txt";if (!Directory.Exists(filePath)) Directory.CreateDirectory(filePath);first = !first;}if (fileName != null){File.AppendAllText(filePath + "/" + fileName, string.Format("{0} {1}\t{2}\r\n", now, now.Millisecond, logMessage), Encoding.Default);}}}}}
注意namespace和class后面的内容要根据自己起的名字改一下。
然后呢,在程序任意位置添加一句打印log的代码,比如我在程序开始处加上一句:
运行程序后,可以在可执行程序所在目录下的log文件夹下看到相应日志: