您的位置:首页 > 编程语言

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

2017-11-27 19:27 232 查看
一、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的形状。具体添加代码如下:

[csharp] view
plain copy

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属性重新赋值。

运行效果如下图所示:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: