• 艾伟_转载:C# WinForm开发系列 TextBox 狼人:


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

    1.CalculatorBox    CalculatorBox.rar

    2.带行号+自定义颜色显示的TextBox

    3.金额输入框   currency_textbox.zip   CurrencyBox.rar   NumberPicker_src.zip   NumericTextBox_src.zip   NumberedTextbox.rar

    4.日期输入框  DateEdit.rar

    5.一个C#的数字字段的控件

    6.扩展RichTextBox功能  RichTextBoxExtended.zip

    7.C#的IP地址控件

    8.Anders Cui
    Windows Forms中通过自定义组件实现统一的数据验证(一)
    Windows Forms中通过自定义组件实现统一的数据验证(二)
    Win Form程序中的输入验证控件
    拖放文件中的文本到 textbox 控件
    C#挖掘Internet网络域名拓扑图

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

    10.Office 2007 Ribbon 风格的按钮和菜单[转载]

    翻译

    Juan Pablo G.C.著Improved and Recoded RibbonMenuButton

    简介

    首先,感谢大家。我非常感谢大家对本文的努力给与了高度的评价。我记得当我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/

  • 相关阅读:
    二分查找练习
    Linux中Buffer和Cache的区别
    c++设计模式之单例模式
    c++设计模式之工厂模式
    C++中内存泄漏的几种情况
    snprintf
    命名空间和模块化编程1
    避免内存泄漏
    静态对象强制类型转换
    副本构造器
  • 原文地址:https://www.cnblogs.com/waw/p/2157047.html
Copyright © 2020-2023  润新知