WinForm 编程中控件的使用小技巧(splitter实现窗口分区域,改变Button的形状)

来源:互联网 发布:淘宝怎样粘贴 编辑:程序博客网 时间:2024/05/18 03:31

一、Splitter 控件的主要作用就是将窗口分区并可以调节区域大小,比如:我想将窗口分为左右两个区域,并可以调节两个区域所占的比例。操作流程如下:

1、新建一个窗口:Form1;

2、在Form1中添加一个Panel控件Panel1,并将其Dock属性设置为left,BackColor属性设置成蓝色;

3、在Form1中添加一个Splitter控件Splitter1,并将其Dock属性设置为left;

4、在Form1中添加一个Panel控件Panel2,并将其Dock属性设置为fill,BackColor属性设置为黑色;

二、WinForm编程中经常需要适用Button控件,有时候我们想要改变Button的形状,其实单纯的改变Button的形状是很简单的,下面我要讲的这个方法可以简单的理解为,在一个矩形的区域内用添加一个由几个线段围成的封闭区域,在显示的时候只显示封闭区域而不显示封闭区域外的面积。为了实现这个功能我们要用到button控件的一个属性region(封闭区域),一个事件Paint(绘制形状)。

接着上面的例子,我们在Panel内添加一个按钮button1,并将其anchor属性设置为bottom,right。在button1的事件中找到Paint事件,这个事件是在运行程序时绘制button1的形状时调用,所以我们只要在这里面添加代码改变region属性就实现了改变button1的形状。具体添加代码如下:

  using System.Drawing.Drawing2D;        private void button1_Paint(object sender, PaintEventArgs e)        {            GraphicsPath path = new GraphicsPath();            path.AddLines(new Point[] { new Point(50, 2), new Point(65, 18), new Point(50, 34), new Point(50, 27), new Point(30, 27), new Point(30, 10), new Point(50, 10), new Point(50, 2), });            this.button1.Region = new Region(path);        }
这段代码很好理解:首先是定一个GraphicsPath类型的path,然后在这个path中添加几条线段(坐标系的原点是button1的左上角),我们设置的按钮的大小是70,36,在坐标系中button1的右下角的坐标就是(70,36),然后我们就是在这个矩形区域内找到7个点围成一个箭头形状就可以了,最后将button1的region属性重新赋值。

运行效果如下图所示:


0 0