zoukankan      html  css  js  c++  java
  • Winform通用自动完成控件的开发(一)

    工作项目需要,需要一个通用的自动完成控件;比如支持在TextBox控件和DataGridView控件,重要的是,需要AutoComplete控件能多列显示数据,并能多选单选的功能,支持多种方式操作,比如回车选定,上下键移动等等,还要求可轻易的移植到其他项目中使用。于是,感谢伟大的google和伟大的cnblogs,经过两天学习,做了这个AutoCompleteCtrls控件。

    在研究过程中发现,如果想做到一个控件能支持TextBox和DataGridView,是很复杂的,需要很多映射和判断,做出来的代码也相当复杂,可读性差,干脆,抽象出来个基类,然后再抽象积累中泛化实现对应的AutoComplete控件;下面是和同事分享的PPT概要,和大家分享一下--下面的图都是临时画的,可能不是很准确,能看懂就行:)——;

    1)  AutoComplete控件的实现要求 

    n实时捕捉控件的键盘事件,并对事件作出响应的动作;
    n能通过多种方式完成选择数据,并能通知系统完成事件;
    n根据用户输入的信息,快速过滤出有效数据;
    n根据应用场景需要,精确显示到响应位置;
    n控件要和业务数据无关性,可移植性,通用性;
    n使用简单方便,应用时尽量少做编程;
    n可配置性,可扩展性;

    2)AutoComplete控件原型分析

    3)AutoComplete控件实现时序图
    4)抽象基类图
    5)泛化实例图
    6)抽象基类的实现
    7)开发要点
    通过对基类高度的封装,泛化类只需要实现AddListen方法和对应控件的KeyUP方法即可;选择完成后,通过委托事件OnCompleteFilter通知调用者,并将选取结果值以DataTable的方式返回,然后该怎么处理就这么处理了;
    下篇再叙述两个泛化类 AutoCompleteForTextBox和AutoComplateFOrDataGridView的实现,以及实际应用;
  • 相关阅读:
    电脑开机慢是查看与解决方案
    做男人真难
    强大的数据恢复软件--EasyRecovery专业版
    30招让你从头到脚都健康
    教您如何使用SQL中的SELECT LIKE like语句
    SQL server经典电子书、工具和视频教程汇总
    数据开发-经典
    C# 数据操作工具类
    关于web请求中 获取真实IP
    生成二维码
  • 原文地址:https://www.cnblogs.com/bingyun84/p/1931015.html
Copyright © 2011-2022 走看看