Chinaunix首页 | 论坛 | 博客
  • 博客访问: 213315
  • 博文数量: 43
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 660
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-11 11:49
文章分类

全部博文(43)

文章存档

2009年(39)

2008年(4)

我的朋友

分类: C/C++

2009-07-07 09:49:27

   包含金额/日期输入框,带弹出数字面板的计算输入框,安全密码输入等控件(文章及相关代码搜集自网络,仅供参考学习,版权属于原作者! ).  

1.CalculatorBox

2.

3.金额输入框

4.日期输入框

5.

6.扩展RichTextBox功能

7.

8.Anders Cui
Windows Forms中通过自定义组件实现统一的数据验证(一)
Windows Forms中通过自定义组件实现统一的数据验证(二)


9.防止KeyLogger的密码输入对话框

10.

翻译

Juan Pablo G.C.著

简介

首先,感谢大家。我非常感谢大家对本文的努力给与了高度的评价。我记得当我16岁的那年,我见到了各种各样的软件、应用程序和游戏,而对于我来说,当时根本不可能达到或开发这样的软件。然而,从此以后,我学习了许多,如今,我已经能够很轻易地完成这样的软件。而且,如果我能够帮助谁实现绚丽的应用程序,我决定他们可以自由地使用我的代码。

背景

此前,我一直在考虑如何做一个全定制的按钮,以及改变RGB元素究竟有多么难。我决定做一个能够提供很多操作颜色的类RibbonColor。如果你运行一下demo程序,并移动Hue,SatBrightnessTrackBar,就会很快明白我上面说的。我必须承认接近70%的RibbonControl链接库已经完成。然而,当人们迫切地希望使用改善过的代码,并告诉我我没有对我的代码作很多解释的时候,我决定把自己当作哑巴。:)

如何使用代码

首先,创建一个新的Windows应用程序。在解决方案浏览器中,选择Add Existing Item选项,然后选择RibbonMenuButton.cs文件,重新编译你的项目。这时,如果你点击form designer,在toolbox中,就会有一个新的子项RibbonMenuButton。把它拖到你的form上。从表面上看不出控件的特殊性,不过,请看属性浏览器。首先给RibbonMenuButton设定属性。

在你设置完属性,添加了一个图片,设置好文字,如果有的话,还可以设置字体为Segoe UI,然后,按钮就会变成下面的样子:

如果你已经编译了项目,并得到了上图的结果,接下来的事情就是改变控件的属性了。让我们看看每一个属性都代表着什么意思。推荐大家看看Demo工程中的按钮的属性:


Arrow:在右边或下面画一个箭头。只有当双double功能设置在another属性的时候,箭头才会画出来。
Colors:我想这个不需要解释了;推荐大家使用PlayGround程序选择你的颜色。
FadingSpeed:颜色间的淡出速度,0不淡出。
GroupPos:在左右上下设置圆角。
ImageLocation:设置图片位置,上下左右。
ImageOffset:图片相对边框的偏移。
MaxImageSize:限制图片大小,以使得按钮比图片大。
Radius:圆角的半径
ShowBase:如果你想显示BaseColor 和BaseStroke 颜色,设置成yes,此处Transparent 是一个显示淡出的颜色。
SplitButton:创建一个双double功能的按钮,箭头打开与之联系的ContextMenu 和其它组件。
SplitDistance:箭头按钮大小
Title:如果这个属性设置成非空字符串,控件会自动把Title加粗,把text显示在它的下面。
Text:如果你已经设置了一个Title,并希望多行显示文本,在其中加上"\n"。
KeepPress, IsPressed:如果在某些按钮上激活KeepPress,当其中一个按下的时候,控制器中的其它控件会失去ispress属性。

兴趣

如果你想更多地了解这个控件,推荐看一下这些:
this.Region:这是一个避免透明事件的好方法。
LinearGradient:当多颜色时,它使得渐变更容易。
MeasureString:它用于显示文本的位置,因为你必须去除base.OnPaint,而自己完成每一件事,包括显示文字。
TransformColors:包括Alpha opacity的方法
DrawArc:完成圆角部分
OnMouseUp:当SplitButton和IsPressed被激活的时候,完成某些功能。
RibbonColor:计算公式来自于Wikipedia 和Gimp。系统自带的System.Drawing.Color.GetHue, Sat 和Brightness不是特别好用。

关于原文作者 Juan Pablo G.C.

I'm an Electronic Engineer, I did my end degree project at Astrophysical Institute and Tech Institute. I'm HP Procurve AIS and ASE helping at University, and I'm getting ready for Microsoft MCTS.
I live in Canary Islands. At the moment Im developing a CRM software for my company. I'm really interested know people getting the MCTS.
I'm an SQL Server and .net2.0 intermediate expert.

Take a look to my blog Juan Pablo G.C.
Overrider:http://overrider.blogspot.com/

关于作者
发表文章:14
签名:
附件下载 (请点击原文链接下载)
   
阅读(1217) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~