在开发的时候,有时我们需要自定义窗体,各种奇怪的形状都有可能,这里举一个利用Region自定义外观的例子。下图就是一个自定义十字形的窗体,和一个居中显示的蓝色自定义外形的按钮。
代码可以分为两个部分,一个是绘制按钮的,一个是绘制窗体的。窗体外形定义比较简单,只是用了四行代码,当然,这也是因为外观简单而已;其余的代码都是为自定义按钮服务的。
public class SpecialRegionForm : Form
{
public SpecialRegionForm()
{
this.FormBorderStyle = FormBorderStyle.None;
Region btnRegion = null;
GraphicsPath path = null;
path = new GraphicsPath();
path.AddEllipse(0, 0, 100, 100);
btnRegion = new Region(path);
path = new GraphicsPath();
path.AddRectangle(new Rectangle(25, 25, 50, 50));
btnRegion.Exclude(new Region(path));
path = new GraphicsPath();
pat