艾伟_转载:C# WinForm开发系列 - TextBox

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

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

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/

目录
相关文章
|
8天前
|
SQL API 定位技术
基于C#使用winform技术的游戏平台的实现【C#课程设计】
本文介绍了基于C#使用WinForms技术开发的游戏平台项目,包括项目结构、运行截图、实现功能、部分代码说明、数据库设计和完整代码资源。项目涵盖了登录注册、个人信息修改、游戏商城列表查看、游戏管理、用户信息管理、数据分析等功能。代码示例包括ListView和ImageList的使用、图片上传、图表插件使用和SQL工具类封装,以及高德地图天气API的调用。
基于C#使用winform技术的游戏平台的实现【C#课程设计】
|
11天前
|
物联网 C# C语言
物联网开发中C、C++和C#哪个更好用
在物联网(IoT)开发中,C、C++和C#各有优缺点,适用场景不同。C语言性能高、资源占用低,适合内存和计算能力有限的嵌入式系统,但开发复杂度高,易出错。C++支持面向对象编程,性能优秀,适用于复杂应用,但学习曲线陡峭,编译时间长。C#易于学习,与.NET框架结合紧密,适合快速开发Windows应用,但性能略低,平台支持有限。选择语言需根据具体项目需求、复杂性和团队技术栈综合考虑。
|
2月前
|
Android开发 iOS开发 C#
Xamarin:用C#打造跨平台移动应用的终极利器——从零开始构建你的第一个iOS与Android通用App,体验前所未有的高效与便捷开发之旅
【8月更文挑战第31天】Xamarin 是一个强大的框架,允许开发者使用单一的 C# 代码库构建高性能的原生移动应用,支持 iOS、Android 和 Windows 平台。作为微软的一部分,Xamarin 充分利用了 .NET 框架的强大功能,提供了丰富的 API 和工具集,简化了跨平台移动应用开发。本文通过一个简单的示例应用介绍了如何使用 Xamarin.Forms 快速创建跨平台应用,包括设置开发环境、定义用户界面和实现按钮点击事件处理逻辑。这个示例展示了 Xamarin.Forms 的基本功能,帮助开发者提高开发效率并实现一致的用户体验。
78 0
|
2月前
|
开发者 iOS开发 C#
Uno Platform 入门超详细指南:从零开始教你打造兼容 Web、Windows、iOS 和 Android 的跨平台应用,轻松掌握 XAML 与 C# 开发技巧,快速上手示例代码助你迈出第一步
【8月更文挑战第31天】Uno Platform 是一个基于 Microsoft .NET 的开源框架,支持使用 C# 和 XAML 构建跨平台应用,适用于 Web(WebAssembly)、Windows、Linux、macOS、iOS 和 Android。它允许开发者共享几乎全部的业务逻辑和 UI 代码,同时保持原生性能。选择 Uno Platform 可以统一开发体验,减少代码重复,降低开发成本。安装时需先配置好 Visual Studio 或 Visual Studio for Mac,并通过 NuGet 或官网下载工具包。
59 0
|
2月前
|
开发者 Apache 程序员
揭秘Apache Wicket:页面生命周期背后的神秘力量!
【8月更文挑战第31天】李工是一位热爱Web开发的程序员,近日在技术博客上分享了他对Apache Wicket框架的学习心得,特别是页面生命周期的理解。他认为掌握Wicket页面生命周期对于开发富交互式Web应用至关重要。他通过一个简单的计数器应用示例,详细解释了Wicket的组件化设计理念以及页面和组件在生命周期中的变化。
30 0
|
2月前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
76 0
|
2月前
|
前端开发 程序员 API
从后端到前端的无缝切换:一名C#程序员如何借助Blazor技术实现全栈开发的梦想——深入解析Blazor框架下的Web应用构建之旅,附带实战代码示例与项目配置技巧揭露
【8月更文挑战第31天】本文通过详细步骤和代码示例,介绍了如何利用 Blazor 构建全栈 Web 应用。从创建新的 Blazor WebAssembly 项目开始,逐步演示了前后端分离的服务架构设计,包括 REST API 的设置及 Blazor 组件的数据展示。通过整合前后端逻辑,C# 开发者能够在统一环境中实现高效且一致的全栈开发。Blazor 的引入不仅简化了 Web 应用开发流程,还为习惯于后端开发的程序员提供了进入前端世界的桥梁。
52 0
|
2月前
|
存储 测试技术 C#
Blazor WebAssembly 开启离线应用开发新时代!C# 与.NET 助力,打造高性能跨平台新体验!
【8月更文挑战第31天】在互联网快速发展的今天,用户对Web应用体验的要求日益提高,尤其在无网络环境下使用应用的需求愈发明显。Blazor WebAssembly 应运而生,它基于 WebAssembly 技术,允许开发者利用 C# 和 .NET 构建交互式 Web 应用,无需服务器支持即可在浏览器中运行,从而实现离线使用。Blazor WebAssembly 具有使用熟悉的技术栈、高性能、离线支持以及跨平台等优势。开发者可通过安装开发工具、创建项目、编写代码、调试测试及发布应用几个步骤来进行开发。这为离线应用开发开启了新篇章。
41 0
|
5月前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
169 3
|
5月前
|
SQL 开发框架 安全
C#编程与多线程处理
【4月更文挑战第21天】探索C#多线程处理,提升程序性能与响应性。了解C#中的Thread、Task类及Async/Await关键字,掌握线程同步与安全,实践并发计算、网络服务及UI优化。跟随未来发展趋势,利用C#打造高效应用。
181 3