Winform通用自动完成控件的开发(一)
时间:2010-12-27 来源:hifred
在研究过程中发现,如果想做到一个控件能支持TextBox和DataGridView,是很复杂的,需要很多映射和判断,做出来的代码也相当复杂,可读性差,干脆,抽象出来个基类,然后再抽象积累中泛化实现对应的AutoComplete控件;下面是和同事分享的PPT概要,和大家分享一下--下面的图都是临时画的,可能不是很准确,能看懂就行:)——;
1) AutoComplete控件的实现要求
n实时捕捉控件的键盘事件,并对事件作出响应的动作; n能通过多种方式完成选择数据,并能通知系统完成事件; n根据用户输入的信息,快速过滤出有效数据; n根据应用场景需要,精确显示到响应位置; n控件要和业务数据无关性,可移植性,通用性; n使用简单方便,应用时尽量少做编程; n可配置性,可扩展性;2)AutoComplete控件原型分析
3)AutoComplete控件实现时序图 4)抽象基类图 5)泛化实例图 6)抽象基类的实现 通过对基类高度的封装,泛化类只需要实现AddListen方法和对应控件的KeyUP方法即可;选择完成后,通过委托事件OnCompleteFilter通知调用者,并将选取结果值以DataTable的方式返回,然后该怎么处理就这么处理了; 下篇再叙述两个泛化类 AutoCompleteForTextBox和AutoComplateFOrDataGridView的实现,以及实际应用; 相关阅读 更多 +