Windows窗体应用程序常用的几个类的属性、方法以及事件

时间:2022-06-28 00:13:41

System.Diagnostics.Process

属性

public bool EnableRaisingEvents { get; set; }//获取或设置在进程终止时是否应激发 Exited 事件。

事件

public event EventHandler Exited //在进程退出时发生。进程退出的时候,一般需要把Process对象释放掉[比如一个Windows应用程序里面另外打开其他的exe,其他exe关闭后的处理]

System.AppDomain

属性

public static AppDomain CurrentDomain { get; } //获取当前 Thread 的当前应用程序域。

事件

public event UnhandledExceptionEventHandler UnhandledException //当某个异常未被捕获时出现。

System.Windows.Forms.Application

详细的信息还是去msdn上查看,特别是要看备注

属性

public static string CommonAppDataPath { get; } 可以把程序的日志写在此路径下,即便是用户切换了Windows用户,还是可以看到程序的以前的日志
//获取所有用户共享的应用程序数据的路径。

public static string StartupPath { get; } //获取启动了应用程序的可执行文件的路径,不包括可执行文件的名称。

方法

public static void Exit() //通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口。
public static void EnableVisualStyles() //启用应用程序的可视样式。 新建一个windows窗体应用程序的时候会调用

public static void SetCompatibleTextRenderingDefault(bool defaultValue) 新建windows窗体应用程序的时候会调用,传递的参数是false
//将某些控件上定义的 UseCompatibleTextRendering 属性设置为应用程序范围内的默认值。
defaultValue 用于新控件的默认值。
如果为 true,则支持 UseCompatibleTextRendering 的新控件使用基于 GDI+ 的 Graphics 类进行文本呈现;
如果为 false,则新控件使用基于 GDI 的 TextRenderer 类。

public static void Run(Form mainForm) 新建windows窗体应用程序的时候会调用,传递的参数是新建的一个Form主窗体
//在当前线程上开始运行标准应用程序消息循环,并使指定窗体可见。

public static void DoEvents() //处理当前在消息队列中的所有 Windows 消息。

public static void Restart() The most common reason for calling Restart is to start a new version of the application that you have downloaded through ClickOnce using the Update or UpdateAsync method.(还是英文准确,机器翻译的中文简直是惨不忍睹)
//关闭应用程序并立即启动一个新实例。 ClickOnce部署

事件

public static event ThreadExceptionEventHandler ThreadException //在发生未捕获线程异常时发生。 未捕获的异常,通过这个事件处理来打印日志

总结:

一般来说
System.AppDomain的CurrentDomain的UnhandledException事件是需要注册的
System.Windows.Forms.Application的ThreadException事件也是需要注册的
通过上面两个事件来捕获未知的异常

最后吐槽下,博客园的markdown编辑器,不支持两个空格和enter键换行吗?