Net(C#)自定义WinForm控件之BalloonWindow.docVIP

  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文档。上传文档
查看更多
Net(C#)自定义WinForm控件之BalloonWindow

.Net(C#)自定义WinForm控件之BalloonWindow 写在前面:使用Tooltip的时候,大家都会觉得有不足够的地方,如,在使用图片时,很不方便,如,要增加ToolTip的自动时(搜索内容等)不方便。普通都会想,如果ToolTip是一个Form,那什么问题都好解决了。下面就介绍一个ToolTip,它的本质是一个Form。 ? 介绍此款用户控件的源网址是:/KB/miscctrl/balloonnet.aspx 设计剖析 将Form变成ToopTip形状,可以设置显示的时间,关闭和打开的动作等 布局 要把一个Form变成一个Tooltip形状,那需要解决的问题有:源指向,也就是需要提示的控件或位置,上图所示,就是label4,要设计源指向的形状,至少设计为一个三角形,有一个顶点指向源控件。Form的标题区域取消,Form的四边要变成椭圆形状,整个ToopTip的边框是可以设置边框颜色的。 动作与方法 从源文件中,可以发现两个重要的入口, WndProc(ref System.Windows.Forms.Message m) RecalcLayout() ? 众所周知,WndProc是消息处理的函数,源文件对三个消息进行了加工和处理,它们是WM_NCCALCSIZE,WM_NCPAINT,WM_NCHITTEST,三个消息的含义是这样的 WM_NCCALCSIZE消息在需要计算窗口客户区的大小和位置时发送。通过处理这个消息,应用程序可以在窗口大小或位置改变时控制客户区的内容。 WM_NCPAINT用于重画窗口的非用户区,如标题,边框和滚动杆。 WM_NCHITTEST讯息是一个很特殊的讯息。它是用来决定目前滑鼠所在位置属性的讯息,因此我们可以利用此特性,当滑鼠移至指定的位置时,传回 HTCAPTION,使得系统以为滑鼠目前位於标题棒,如此就可以移动视窗了。 正是利用了这三个方法,使得Form的形状变成ToopTip一样,下面,就算有了一个形似ToolTip的Form,我们,还是差一点,就是ToopTip的定位,往往在屏幕边界时,ToopTip的位置需要一定的调整,特别是那个小的三角形,随着顶点位置的不同,就要作不同的变形。 下面是RecalcLayout的部分代码,看到了,下面的形式,就是计算边框和四角的大小和位置的。 ? BalloonWindow是一个比较好的控件,好多的方法都提供了重写功能,这样,使到控件的适应性大大加强,而可使用面更宽。 其它 如果,可以设置一下,不出现三角形的指向,那么更好。 .Net(C#)自定义WinForm控件之Message Balloon 写在前面:.Net自带有标准的控件Tooltip,但是,在使用过程中,也有不合人意的时候,如自动关闭的问题,或怎样关闭提示,提示显示多长时间的问题。下面介绍一个比较好用的Tooltip自定义控件Message Balloon,通过对些控件的一些简单的介绍,希望大家可以找到自已喜欢的Tooltip控件。 ? 介绍这一款控件的源网址是:/KB/shell/balloontipsarticle.aspx 作者也是想构造一个比较好用的Tooltip,正如所说,Tooltip用得好,是有很大帮助的,不过,用得不好,真是烦人的。 设计剖析 在.Net(C#)的平台下使用标准的API接口,创建Tooltip窗口 布局 定位ToolTip的位置,然后弹出Tooltip界面,界面中包括图标,文字标题,文字内容和关闭窗口的功能。Tooltip界面的显示时间是没有限制的,点击时隐藏,而点击“Hide Tip”也可以隐藏。 动作与方法 外部调用接口有 构造函数: MessageBalloon() MessageBalloon(Control parent) 显示与隐藏: Show() Hide() 重要的方法有 ?顾名思义,下面的方法是创建Tooltip界面和设计界面的位置 CreateTool() SetBalloonPosition() 下面是CreateTool的方法体,也就是创建Tooltip的全过程,可以看到,大部分的功能都是由标准的API来组成的。由此可见,做自定义界面控件调用标准API是少不了的。 ? 其中SendMessage,SetWindowPos等的语法,跟C++基本上是一致的。 字体格式选择ComboBox控件 写在前面:当我们在使用Microsoft Word这个软件时,经常会使用到字体选择功能,如宋体,黑体,隶书之类,是一个下拉框的功能,当前,这个,在.Net的标准控件中,是一个叫ComboBox的控件,那么,下面介绍的,就当然是FontComboBox了,自定义字体选择ComboBox。 ? 介绍此控件的源网址是:/KB/combobox

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档