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

Windows窗体应用程序常用的几个类的属性、方法以及事件的更多相关文章

  1. Windows窗体应用程序(非Console)使用libuv实现简单的异步WEB服务器

    libuv是一个很强大的异步处理框架(严格意义上不能叫框架,其实就是一组异步函数库,当然框架这东西有各种各样的定义和理解_^...),最初的的目的是用于NODEJS的异步处理,不过因为它是一个独立的项 ...

  2. C#开发Windows窗体应用程序的步骤

    使用C#开发应用程序时,一般包括创建项目.界面设计.设置属性.编写程序代码.保存项目.程序运行等6个步骤. 1.创建项目 在Visual Studio2017开发环境中选择“文件”→“新建”→“项目” ...

  3. 第一章 C#入门 (Windows窗体应用程序)(三)

    [案例] 编写一个Windows窗体应用程序,窗体上有一个文本框和两个按钮([显示]和[清除]按钮). 单击[显示]时,文本框的背景变为蓝色并且居中显示“努力学习C#”: 单击[清除]按钮,文本框的背 ...

  4. 第一章 C#入门(Windows窗体应用程序)(二)

    C#窗体应用程序(二) [案例]设计登录界面,效果如下: [案例实现步骤] 1.新建项目(Windows控制台应用程序 文件→新建→项目:选择“项目类型”为Visual C#,“模板”为Windows ...

  5. 第一章 C#入门 (Windows窗体应用程序)(一)

    我的第一个窗体应用程序(一) [案例说明]  在文本框中显示一行文字“Hello C#!”,单击[显示]按钮后在文本框中显示文字:单击[清除]按钮后清除文本框中的内容. [案例实现步骤] 1.新建项目 ...

  6. C#windows窗体应用程序如何自适应大小

    用C#的windows窗体应用程序做界面十分轻松,但是系统默认是没有让控件跟随窗体的大小改变而已改变的.所以需要我们手动去设置让窗体控件随着窗体的大小改变而改变.所以我们只需要将控件选择 然后把Anc ...

  7. API、Win32 SDK、Win32项目、MFC、Windows窗体应用程序的区别

    [原]API.Win32 SDK.Win32项目.MFC.Windows窗体应用程序的区别 首先来看一下每一个术语的定义: API:Application Programming Interface. ...

  8. C#Windows窗体应用程序MyKTV项目

    后台管理其中有一个添加歌手信息和歌曲信息的窗体要点击按钮并上传文件,因为对那些文件流什么的不懂,所以用了老师教的最简单的判断方法,但此方法只是按后缀名判断文件的样式,如果后缀名乱改就不行了! 此时需要 ...

  9. 第三章 C#程序结构[3.2 选择结构的应用(Windows窗体应用程序)(四)]

    [案例]设计一个顾客选购商品的系统.其中,顾客身份有两类,一类是VIP,另一类是普通会员:商品种类有3种.分别是上衣.裤子和鞋子.其中,VIP享受8折优惠和商店赠送的礼品,而普通会员都不享受.单击[确 ...

随机推荐

  1. 2017 Multi-University Training Contest - Team 7

    HDU6121 Build a tree 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6121 题目意思:一棵 n 个点的完全 k 叉树,结点标号从 ...

  2. HDU2276——Kiki & Little Kiki 2

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2276 题目意思:给予一个01字符串,表示一串灯的明亮状态,现在每过一秒,如何这个灯的左边的灯是亮的,我 ...

  3. Load Balancing with NGINX 负载均衡算法

    Using nginx as HTTP load balancer Using nginx as HTTP load balancer http://nginx.org/en/docs/http/lo ...

  4. 使用渐进式 JPEG 来提升用户体验

    原文出处: 标点符   今天才认识到原来JPEG文件有两种保存方式,分别是Baseline JPEG(标准型)和Progressive JPEG(渐进式).两种格式有相同尺寸以及图像数据,扩展名也是相 ...

  5. Linux下桥接模式详解一

    注册博客园已经好长时间,一直以来也没有在上面写过文章,都是随意的记录在了未知笔记上,今天开始本着分享和学习的精神想把之前总结的笔记逐步分享到博客园,和大家一起学习,一起进步吧! 2016-09-20  ...

  6. ssm之mapper异常 Result Maps collection already contains value for com.ssj.mapper.UserMapper 和 Type interface com.ssj.mapper.UserMapper is already known to the MapperRegistry.

    异常一:Result Maps collection already contains value for com.ssj.mapper.XXXMapper 原因分析:XXXmapper.xml文件中 ...

  7. CentOS yum 安装node.js

    第一步: curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash - 第二步: sudo yum -y i ...

  8. Windows服务的安装、卸载

    创建一个Windows服务 http://jingyan.baidu.com/article/fa4125acb71a8628ac709226.html 安装服务 使用FramWork框架自带的Ins ...

  9. Angular 回到顶部 滚动到特定的页面位置

    $timeout(function() { // $location.hash('bottom'); // $anchorScroll(); // var a=angular.element(&quo ...

  10. Java网络通信基础编程

    一.同步阻塞方式(BIO) 方式一: 服务器端(Server): package com.ietree.basicskill.socket.mode1; import java.io.IOExcept ...