概述:
当你在全新体验Windows XP令人赏心悦目的界面的时候,你一定在想"如果我的程序界面也都能这么漂亮,那该多好啊"。那就让我们来看看到底应该如何通过.NET类库来重画Windows标准控件。
本文通过两个例子来阐述如何通过程序编码来有效的改变Windows标准控件外观。
平台需求:
Visual Studio .NET
Visual C# .NET
例1:改变控件属性
使用Visual Studio .NET来开发软件时,可以利用其强大的IDE环境来手工设定界面控件的属性。但是如果你要使你整个程序上的控件风格都是某种特定属性的话,那最好的方法就是自己重载控件类。
让我们从最简单的System.Windows.Forms.Button类开始尝试,按钮有如下的常用属性:
BackColor--按钮的背景颜色
Cursor--鼠标状态
Enabled--是否启用按钮
FlatStyle--按钮的扁平风格
Font--按钮上的字体
ForeColor--按钮的前景颜色
Height--按钮的高度
Image--按钮上的图片
Location--按钮上的位置
Text--按钮上的文字
Visible--按钮是否可见
Width--按钮的宽度
在下面的这个例子里面,我们得到一个蓝底白字的扁平按钮:
1、在Visual C# .NET中新建一个Windows Application项目,命名为OwnDrawButton1;
2、往项目中添加一个MyButton类,将其改为继承System.Windows.Forms.Button,并在构造函数中添加修改属性的代码;
就像这样:
public class MyButton : System.Windows.Forms.Button
{
public MyButton()
{
//set the back color to blue
BackColor = System.Drawing.Color.Blue;
//set the appearance style to flat
FlatStyle = System.Windows.Forms.FlatStyle.Flat;
//use system default font
Font = System.Windows.Forms.Control.DefaultFont;
//use white color to write text and draw the border
ForeColor = System.Drawing.Color.White;
}
}
3、拖一个按钮到Form1上,右击鼠标,单击"View Code",在代码中用"MyButton"替换掉"System.Windows.Forms.Button";
4、编译执行。
现在,你就能在你的界面上看到自定义的控件了(如图1)。
图1 通过代码修改控件属性的按钮
例2:重画简单控件
仅通过改变控件的属性值来自定义控件,在很多情况下是不能令人满意的。例如如果想把Windows XP里那种风格的按钮放到Windows 98/2000下,你就得自己来画那些按钮了。