简单易学 图文并茂 VB制作WPF自定义控件 范例1.pdfVIP

简单易学 图文并茂 VB制作WPF自定义控件 范例1.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简单易学 图文并茂 VB.Net 创作控件 自己创作控件,分三种主要的形式:复合控件,扩展控件,和自定义控件。 复合控件,顾名思义就是把现有的进行组合,让它们协作形成功能强大的新控件; 扩展控件,是以某一现有控件为基础,让它具有新的功能;自定义控件,则是由作者完 全操刀,建立一个全新的控件。 可以用一个比喻来理解这三种形式的区别:复合控件,就是你买好各个电脑配件, 组装成一台电脑;扩展控件,就是把显卡上的零件更换几个,让它能力比标准产品更强 大;自定义控件,就是自己制作一个名为“生人勿近”的硬件,他可以通过 PCI 插槽, 安装到电脑上,一旦生人走近,它能识别并发出狗叫„„ 综上,三种形式中,复合控件相对来说是最简单的;扩展控件在其次;自定义控件 最难。通常,我们使用前两种技术,就能创作出很复杂的控件了。 范例1: Excel 的单元格Cell,当它没有焦点的时候,就是一个TextBlock ,当它获得焦点, 可以编辑的时候,就是一个Text Box 框。这样一个控件,将是我们今后制作表格控件的 基础。范例1 中,我们会用到两种技术,复合控件和扩展控件。 在 VS 中,要进行如下的工作(推荐使用 VS2010) 1. 新建一个Solution ,名为Cell ; 2. 添加一个名为“TestAPP ”的WFP 项目。我们用他来测试成果; 3. 添加一个名为“Ctrl_Cell ”的WFP 用户控件项目。 然后,我们需要一个TextBlock,和一个TextBox 控件,这是我们的演员。 考虑一下它们应该怎样演出,才能达到我们需要的效果:  平时这个控件,应该表现出TextBlock 的外观;  当我们点击这个Label 时,隐藏的TextBox 控件跑到TextBlock 的前面,并且它显示的值 和TextBlock 一样。同时,这个值是可以编辑的;  编辑完TextBox 的内容,按下Enter,或者点击屏幕上的其他控件,让TextBox 失去焦点, TextBox 消失。TextBlock 跑到前面来,并且显示编辑后的内容。 接着,需要考虑一下这个控件的属性和事件。 1. 它应该有一个Value 属性,Label 显示这个Value ;同时Text 也显示这个Value ;我们编 辑的时候,也是针对这个Value 。 2. 点击TextBlock 时,会发生一系列的变化。所以我们要关注TextBlock 的MouseDown 事 件。 3. 编辑TextBox,按下Enter 后,或者TextBox 失去焦点,会发生一系列的变化。所以我们 要关注TextBox 接受了Enter 键这个输入,同时也要关注它的LostFocus 事件。 关于“TextBox 控件接受到一个Enter 输入”的问题。基础的TextBox 控件是没有这个功 能的,而我们今后要用到的地方很多。所以我考虑扩展一下 TextBox 的功能,制作一个 Ex_TextBox。新的控件在用户按下Enter 的时候,产生一个getEnterKey 的事件,这样使用者 就能处理这条消息了。 扩展现有控件,直接在原有的 TextBox 上继承,把一个判断键盘输入值的程序 afterGetEnter 绑定到Keydown 事件下。 在Ctrol_Cell 项目下,添加一个新的类,名为Ex_TextBox。 *******************代码******************** Public Class Ex_TextBox Inherits TextBox 这个控件扩展了现有TextBox 的功能。 当用户输入Enter 的时候,引发一个getEnterKey 事件。 这样,控件的使用者,就能在输入Enter 的时候,得到一个信息。 扩展控件功能,属于创作控件的第二种技术。 Public Event getEnterKey As EventHandler Priv

文档评论(0)

_______ + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档