zoukankan      html  css  js  c++  java
  • Windows窗体应用程序常用的几个类的属性、方法以及事件

    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键换行吗?

  • 相关阅读:
    算法图解之散列表
    算法图解之快速排序
    算法图解之分而治之
    __setitem__,__getitem,__delitem__的作用
    算法图解之递归
    Python开发不可不知的虚拟环境
    静态属性property的本质和应用
    SQLmap详解
    windows提权备忘录
    linux提权备忘录
  • 原文地址:https://www.cnblogs.com/chucklu/p/4197771.html
Copyright © 2011-2022 走看看