现在,我们已经创建了一个不规则的窗体,并实现了一些基本的移动窗体、关闭窗体的功能。然而,窗体上的按钮控件还是老一套,那么方方正正,使得整个界面不美观。接下来我就向大家介绍如何创建自定义形状的控件。
前面我们创建不规则窗体的时候用到了TransparencyKey属性,但是控件是没有该属性的,所以我们得找其他的方法来实现控件的不规则形状了。在窗体上画一个自定义形状的控件时,你需要精确的告知窗体在什么位置以及如何画该控件。在.Net Framework中有相应的类和方法来帮你实现这些,所以你不必担心具体实现。
.Net Framework中的类提供给控件一个指示说明,该指示说明能确定控件被画的形状。通过不同的指示说明,你就可以按你想要的方法来画控件了。该指示说明利用了GraphicsPath这个类,这个类代表了一系列用来画图的直线和曲线。首先,你得指定一个GraphicsPath类的对象并告知它你要画什么图形。然后,你将控件的Region属性设置为上述GraphicsPath类的对象。这样,你就可以创建任何自定义形状的控件了。
步骤如下:
●创建一个GraphicsPath类的实例对象。
●指定好该对象的各项细节(如大小、形状等等)。
●将控件的Region属性设置为上面建立的GraphicsPath类的实例对象。
创建一个像文本的按钮控件:
1.拖放一个按钮控件到窗体上。
2.在属性对话框中进行如下设置:
●将Name属性设置为CustomButton。
●将BackColor属性设置为一个和窗体背景颜色不同的颜色值。
●将其Text属性设置为空字符串。
3.添加窗体的Paint事件的事件处理函数。
4.添加以下代码,用GraphicsPath类的实例对象来画控件。下面的代码以一串字符串的形式画该按钮控件,同时,程序还设置了字符串的字体、大小、风格等属性。字符串被赋给GraphicsPath类的实例对象。然后,该实例对象就被设置为按钮控件的Region属性。这样一个自定义形状的控件就完成了。
前面我们创建不规则窗体的时候用到了TransparencyKey属性,但是控件是没有该属性的,所以我们得找其他的方法来实现控件的不规则形状了。在窗体上画一个自定义形状的控件时,你需要精确的告知窗体在什么位置以及如何画该控件。在.Net Framework中有相应的类和方法来帮你实现这些,所以你不必担心具体实现。
.Net Framework中的类提供给控件一个指示说明,该指示说明能确定控件被画的形状。通过不同的指示说明,你就可以按你想要的方法来画控件了。该指示说明利用了GraphicsPath这个类,这个类代表了一系列用来画图的直线和曲线。首先,你得指定一个GraphicsPath类的对象并告知它你要画什么图形。然后,你将控件的Region属性设置为上述GraphicsPath类的对象。这样,你就可以创建任何自定义形状的控件了。
步骤如下:
●创建一个GraphicsPath类的实例对象。
●指定好该对象的各项细节(如大小、形状等等)。
●将控件的Region属性设置为上面建立的GraphicsPath类的实例对象。
创建一个像文本的按钮控件:
1.拖放一个按钮控件到窗体上。
2.在属性对话框中进行如下设置:
●将Name属性设置为CustomButton。
●将BackColor属性设置为一个和窗体背景颜色不同的颜色值。
●将其Text属性设置为空字符串。
3.添加窗体的Paint事件的事件处理函数。
4.添加以下代码,用GraphicsPath类的实例对象来画控件。下面的代码以一串字符串的形式画该按钮控件,同时,程序还设置了字符串的字体、大小、风格等属性。字符串被赋给GraphicsPath类的实例对象。然后,该实例对象就被设置为按钮控件的Region属性。这样一个自定义形状的控件就完成了。
private void CustomButton_Paint(object sender, System.Windows.Forms.PaintEventArgs e){ //初始化一个GraphicsPath类的对 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8781179/viewspace-920694/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8781179/viewspace-920694/
721

被折叠的 条评论
为什么被折叠?



