Welcome

首页 / 软件开发 / .NET编程技术 / Paint.Net学习笔记——三、窗体(下)

Paint.Net学习笔记——三、窗体(下)2011-08-20 博客园 懵盛盛近1个月没有更新了,不能再懒了,继续更新PDN的学习笔记!本节将说明PDN中窗体的继承关系,实 现过程等。

如上图所示,在PDN中,所有窗体都继承自PdnBaseForm类,该类继承自Form类与ISnapManagerHost接 口,该接口定义了SnapManager的get方法,SnapManager是管理界面窗口“粘靠”效果的,该实现方法之 后文章中讲述。

现在快速地过一下各个窗体的作用及特点。

BaseForm:

所有PDN里窗体的基类,主要提供常用窗体方法及注册、卸载热键。

1、RegisterFormHotKey(Keys,Function<bool,Keys>):注册热键

PDN拥有设置、处理、卸载热键的功能,这方便了滤镜开发者的开发。RegisterFormHotKey方法参数 中,有个Function<bool,Keys>。该参数是一个泛型委托,该委托的类型有三种,说明实现该委托 的方法可有多种重载形式。而且该委托的实例,必须实现IComponent和IHotKeyTarget接口,也就是说, 该委托必须由一个窗体发出。在BaseForm中,hotkeyRegistrar是热键注册字典,保存了所有已注册的键 及委托。接下来的事情就简单了,重写ProcessCmdKey方法,处理窗体的键盘事件,并从字典中找到该键 所对应的委托,执行之。