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属性重新赋值。
运行效果如下图所示:
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属性重新赋值。
运行效果如下图所示:
相关文章推荐
- WinForm 编程中控件的使用小技巧(splitter实现窗口分区域,改变Button的形状)
- WinForm中使用XtraGrid控件,实现在界面中动态修改列显示,列名列宽等
- Winform中使用委托实现跨线程安全调用控件
- winform编程DataGridView控件的使用总结
- 线程池的使用实现窗口控件安全操作
- Winform中代码Dialog控件实现(打开,保存,改变字体,颜色,打印功能)
- WinForm中使用DXperience控件中XtraForm,如何实现换肤
- 使用反映实现前端WEB窗口控件与后台数据库类对象的动态绑定
- c#+Winform实现自定义的“复制、粘贴”右键快捷菜单,多个控件共享使用一个右键菜单。
- 在.Net的WinForm开发中如何实现控件随窗体大小的改变而自动适应其改变
- mre下的控件实现(四、Button使用)
- 在winform中实现多窗口的使用 及切换
- 今天要实现在winform中使用时间控件
- 窗口控件透明效果的实现--DSkinLite界面库使用技巧
- 使用CTabCtrl控件实现属性页功能-界面类编程-VC
- 使用vs2003 编程时, 控件的属性窗口不能显示
- winform中的DataGridView中实现鼠标进入某一单元格时改变鼠标形状
- WinForm中使用XtraGrid控件,实现在界面中动态修改列显示,列名列宽等(进阶)
- WM_SIZE实现窗口改变时,改变控件的位置和大小
- 动态改变DataWindow控件窗口中内容的几种实现方法