用户图形界面的概念(读书笔记)

来源:互联网 发布:465端口发邮件 编辑:程序博客网 时间:2024/06/08 08:53

今天比较惭愧,没做什么事,白日如流水,一转眼就到了晚上。总得写点什么,不然太对不起这大好的一天了。把前两天的笔记整理一下,是读《Visual Basic.NET程序设计专家指南》关于图形界面的一点笔记。

图形用户界面概念

1.事件处理模型

1)代表:引用方法的对象。事件代表是多转换制的(类MulticastDelegate)

2)事件代表用同一签名表示多个代表,用多转换代表把事件调用依次发送给其中的各个代表。

3)事件产生之后,系统调用代表引用的所有方法(事件处理程序)。代表中每个方法必须有相同的签名,因为所有方法都以相同信息传递。

4)事件多播(event multicasting):同一事件具有多个处理程序。事件发生时,所有事件处理程序都被调用,但调用次序不确定。

5)每个事件处理程序必须有一个惟一的签名,签名由事件代表确定。传递给事件处理程序的对象有两个:对产生事件(sender)的对象的引用、事件参数对象(e)。参数e的类型是EventArgs。事件处理程序的名称为:控件名_事件名。

2.自定义控件

●覆盖OnPaint方法可以改变控件外观。

●所有控件都有方法OnPaint,重画组件时调用这个方法。方法OnPaint传递PaintEventArgs对象,它包含图形信息——属性Graphics是用于绘制的图形对象,属性ClipRectangle定义控件的矩形边界。

定制控件的技术:

1)继承自Windows窗体的控件:对现有控件添加功能。如果覆盖方法OnPaint,应调用基类OnPaint。只能对原始控件的外观做添加,不能重新设计。

2)创建UserControl:创建的UserControl由多个现有控件组成(并综合了它们的功能)。不能覆盖定制控件的方法OnPaint,而是应在Paint事件处理程序中添加画图代码。只能对原始控件的外观做添加,不能重新设计。

3)继承自类Control:定义全新的控件。可以覆盖方法OnPaint,调用基类方法OnPaint并使用其他绘制控件的方法。可以定制控件的外观和功能。

原创粉丝点击