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/

关于作者
发表文章: 14
签名:
附件下载  (请点击原文链接下载)

 


本文转自peterzb博客园博客,原文链接:http://www.cnblogs.com/peterzb/archive/2009/06/07/1498293.html,如需转载请自行联系原作者。


目录
相关文章
|
12月前
|
XML 测试技术 API
利用C#开发ONVIF客户端和集成RTSP播放功能
利用C#开发ONVIF客户端和集成RTSP播放功能
5033 123
|
物联网 数据处理 C#
C#实现上位机开发,串口通信,读写串口数据并处理16进制数据
C#实现上位机开发,串口通信,读写串口数据并处理16进制数据。在自动化、物联网以及工业控制行业中,上位机开发是一项重要的技能。本教程主要介绍使用C#进行上位机开发,重点在于串口通信和数据处理。
3082 82
|
前端开发 JavaScript 安全
C#一分钟浅谈:Blazor WebAssembly 开发
Blazor WebAssembly 是一个客户端框架,允许开发者使用C#和Razor语法构建Web应用。本文介绍了Blazor WebAssembly的基本概念、常见问题及解决方案,包括路由配置、数据绑定、异步操作、状态管理和性能优化等方面的内容,并分享了一些易错点及如何避免的方法。希望这些内容能帮助你在Blazor WebAssembly开发中少走弯路,提高开发效率。
605 51
|
SQL 小程序 API
如何运用C#.NET技术快速开发一套掌上医院系统?
本方案基于C#.NET技术快速构建掌上医院系统,结合模块化开发理念与医院信息化需求。核心功能涵盖用户端的预约挂号、在线问诊、报告查询等,以及管理端的排班管理和数据统计。采用.NET Core Web API与uni-app实现前后端分离,支持跨平台小程序开发。数据库选用SQL Server 2012,并通过读写分离与索引优化提升性能。部署方案包括Windows Server与负载均衡设计,确保高可用性。同时针对API差异、数据库老化及高并发等问题制定应对措施,保障系统稳定运行。推荐使用Postman、Redgate等工具辅助开发,提升效率与质量。
700 0
|
缓存 算法 安全
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
823 12
|
Linux C# iOS开发
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
开源GTKSystem.Windows.Forms框架让C# Winform支持跨平台运行
542 12
|
缓存 C# 开发者
C# 一分钟浅谈:Blazor Server 端开发
本文介绍了 Blazor Server,一种基于 .NET 的 Web 开发模型,允许使用 C# 和 Razor 语法构建交互式 Web 应用。文章从基础概念、创建应用、常见问题及解决方案、易错点及避免方法等方面详细讲解,帮助开发者快速上手并提高开发效率。
604 2
|
开发框架 缓存 .NET
C# 一分钟浅谈:Blazor Server 端开发
Blazor Server 是基于 ASP.NET Core 的框架,允许使用 C# 和 Razor 语法构建交互式 Web 应用。本文介绍 Blazor Server 的基本概念、快速入门、常见问题及解决方案,帮助开发者快速上手。涵盖创建应用、基本组件、数据绑定、状态管理、跨组件通信、错误处理和性能优化等内容。
1148 1
|
12月前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
460 19
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
500 3