WinForms: GUI编程

gui代码是事件驱动代码。两种gui应用:WInForms 和 WebForms.

事件驱动:用户个人行为都被封装在很多事件中,事件由操作系统来安排顺序执行。

事件处理:事件被handler处理

                  一般来说,这些处理器方法的代码是卸载可视化界面的后面。

                  .NET 自动处理事件并生成一些基础的调用事件处理器的代码。

事件映射:通过委托。

事件处理器参数:

两个参数: Sender:  表示哪个对象生成了事件

                     EventArgs: 例外的特定事件信息

6

通用验证方法:通用文本框验证方法。

1

一般事件处理器

允许把多个事件映射到同一个处理器

2

动态映射

处理器可以在运行时动态增加或移除映射(+=和-=)

3

事件处理器总结

你可以“多对一”进行事件处理:不同的事件对应到相同的处理程序。

你也可以“一对多”进行事件处理:一个事件触发可以有多个动作。

WinForms

WinForms = .NET桌面GUI

使用 WinForms Application模板建立

7

实现

定义在system.windows.forms 名域

forms 从S.W.F.Form类继承行为

用法(很像VB6)

相同的体系:控件,属性,事件

相同的控件组:文本框,按钮,下拉框

强调简单实施:拖拉,放,编码

改进:

完全面向对象并可以跨语言通用

有一些更强大的控件(DataGrid)

对于数据绑定有更好的支持

更好的resizing 支持(Anchor controls; AutoScroll form)

good-bye twips, hello pixels

启动Form

在VS中生成Main代码中自动实例化一个From的对象

Application.Run(new form1())

Best Practice

1.把Main 方法移出 From Class.

     Main更容易找到(不要成为gui的一部分)

     Main很有可能还有其他的职责,这些职责与GUI没有关系。

     一般使用App当作类名

8

2.一般启动时的通用异常处理

9

通常异常处理器

最简单的处理是日志然后终止程序

10

3.使用try-catch来捕获异常

11

WinForms 编程

WinForms 程序设计是一个很大的领域:

1.使用控件

2.建立自定义控件

3.多线程

4.MWC设计模式

.......

多Form应用程序例子

输入customer id(从一个窗体调用另一个窗体)

12

建立,展现

13

验证输入

14

数据绑定

1.控件可以绑定数据源来获得数据

控件可以绑定整个集合collections

控件可以绑定单个对象属性

2.数据绑定在.NET中是广泛使用的

自动地reads & writes 绑定的数据

例子:

数据绑定在list上:

15

原文地址:https://www.cnblogs.com/HuXiaoxia/p/3421834.html