简介

我最近注意到很多程序员都不重视他们开发的软件的外观,这主要是因为他们觉得作个漂亮的界面通常很难或需要花很多时间。其实在.NET中你可以付出很少的精力就使自己的应用程序变得好看些,其中的一个方法就是在窗体的背景上使用渐变色。有时候,一个明快的渐变色就足以使你的产品鹤立鸡群了。
我在CodeProject上搜了一下,发现已经有一篇由Erdal Halici写的关于渐变色窗体的文章。但是我发现他的解决方法对于这个简单的任务显得既复杂又冗长。这也就促成我写这篇文章。
这篇文章主向您展示了处理这个问题的简单方法,而且还提供了一个很小的基类使你可以在应用程序中直接使用。我保证,你需要作的唯一一件事就是设置颜色。这总不困难吧?:)
女士们,先生们,打开您的Visual Studio吧!
好的、坏的和渐变的
好的
的确有些人在花时间为自己的应用程序选个合适的颜色。寻找一个和谐的背景颜色的确可以使他们的产品显得突出而且容易被认可。但是我只能为它鼓掌,然后反问:为什么不能更进一步,选择两种颜色呢?:)
坏的
还有些人甚至从不关心选择颜色的问题。他们的应用程序只是使用乏味的灰色作为背景色,这个你肯定在不少应用程序见过了。那些设计者应该为此羞愧!(译注:我汗哪!照这么说我该去跳楼了。)
渐变的
同时你也知道有人使用渐变色作背景,在读了这篇文章之后,我相信你也能成为其中之一。你所作的就是选择颜色,但是你的应用程序却会表现出特别的视觉效果,知道为什么吗?因为用户喜欢这样的视觉效果。
打造BaseGradientForm
首先要了解的:
BaseGradientForm与一个具有一些预定义属性和方法的常规窗体相比并没多什么东西。你按照通常的方法创建一个窗体,唯一要作的事就是添加一些属性。
三个属性和一个方法:
我们需要添加三个属性:
-Color1:第一个渐变色(译注:即窗体左侧的颜色)
-Color2:第二个渐变色(译注:即窗体右侧的颜色)
-ColorAngle:渐变度(即Color2与Color1之间的连线与X轴正向夹角)
这只是三个普通的属性,像这样添加属性你可能已经作一千遍了吧!
当然,这里还是有个不同的地方:当我们设置一个值的时候(通过代码,或者通过派生窗体设计期的属性设置),我们需要窗体重绘自己。要达到这个目标,我们需要调用一个很小的方法来告诉我们的窗体(或者是控件,当我们要在控件上使用渐变色时)去重绘自己。那个被调用的方法就是使窗体无效(Invalidate)的方法。
|
| 共2页: 1 [2] 下一页 | ||
|
|
|||
| · 51CTO主编推荐经典专题 · RAID——磁盘阵列基础 · 充电计划之热门IT认证.. · 51CTO技术自测 挑战自.. · CISSP认证成长之路 · AMD Phenom三核处理器.. · 国际文档格式标准开战 · 2007年互联网大会 |
· 我是黑客我怕谁——讲.. · ARP攻击防范与解决方案 · Solaris 10 配置管理 · Solaris基础知识入门 · RIP路由协议专栏 · MPLS路由协议专栏 · OSPF路由协议专栏 · 思科路由器产品 |
||
|
|||
| · Java基础教程 · VPN技术 · ARP攻击防范与解决方案 · SQL Server 2005全解 · SOA 面向服务架构 · SQL Server 2005全解 · Java编程开发手册 · RAID——磁盘阵列基础 |
· 三层交换技术专题 · SQL Server入门到精通 · Windows Server 2003企.. · Windows远程桌面应用 · C#技术开发指南 · VPN技术 · Solaris 10 配置管理 · C#技术开发指南 |
||
|
|||
| · ARP攻击防范与解决方案 · VPN技术 · SQL Server 2005全解 · Java基础教程 · SQL Server入门到精通 · SQL Server 2005全解 · SOA 面向服务架构 · Java编程开发手册 |
· C#技术开发指南 · 三层交换技术专题 · C#技术开发指南 · Windows远程桌面应用 · RAID——磁盘阵列基础 · Windows Server 2003企.. · 邮件服务器专题 · wimax技术与趋势 |
||
| ·DB2 Viper快速入门 ·DB2 9数据库的镜像分割与.. |
·将XML应用程序从DB2 8.x.. ·DB2 9中的pureXML:如何.. |
| ·服务器中的“傻瓜机”在.. ·盖茨也喜欢登录Youtube看.. |
· · |
| ·拯救系统管理员 ·美国选民:我为什么选布什 |
·VMware公司中文命名挑战赛 ·我们真缺乏创新吗? |
| ·J0ker的CISSP之路:复习-.. ·J0ker的CISSP之路:复习-I.. |
·9月第3周安全回顾 内网安.. ·教你几招识别和防御Web网.. |
| · NGN:下一代网络 · 网络访问中断大排查 · FTTx光纤接入 |
· 教你使用Anti ARP Sniff.. · 网络嗅探教程:使用Snif.. · 常见病毒手工清除方法大.. |
| · C++是垃圾语言?! · 2007年IT界七大抄袭事件 · Java实用开发全集 |
· 解析Ajax开发框架 走进A.. · 基于Google Maps与Ajax.. · 基于Google Maps与Ajax.. |
| · 热门 IT 培训认证官方资.. · Ubuntu 中文开源频道 · Solaris基础知识入门 |
· 费力不讨好 数据中心主.. · AMD Phenom三核处理器解.. · 51CTO主编推荐经典专题 |
| · 甲骨文Oracle 11g正式发.. · Oracle数据库开发之PL/S.. · Oracle数据库开发基础教.. |
· 存储2006,一个并购的大.. · IDC宣布浪潮蝉联存储市.. · 双机热备技术 |