利用DOTNETBAR制作圆角窗体和圆角控件
<div id="cnblogs_post_body">1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public partial class Form2 : DevComponents.DotNetBar.Office2007Form
然后窗体里加上一个DONTERBAR的panel,然后设置panel为fill占满整个窗体
然后设置panel的CornerType为Rounded,然后窗体就变为圆角的了: panelEx1.Style.CornerType = DevComponents.DotNetBar.eCornerType.Rounded;
2、
如果是圆角控件就照葫芦画瓢,把panel放在控件上面,然后设置为fill,再设置panel的CornerType为Rounded就变为圆角控件了
DOTNETBAR的button控件默认就可以设置为圆角按钮的
今天弄个了一天最后弄出了圆角窗体,可是不是用DOTNETBAR,原来DOTNETBAR实现不了,以下是本人实现圆角窗体的代码
<div class="cnblogs_code"> 1 /// <summary> 2 /// 重绘窗体为圆角 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void DispenserForm_Paint(object sender, PaintEventArgs e) 7 { 8 Form form = ((Form)sender); 9 List<Point> list = new List<Point>();10 int width = form.Width;11 int height = form.Height;12 13 //左上14 list.Add(new Point(0, 5));15 list.Add(new Point(1, 5));16 list.Add(new Point(1, 3));17 list.Add(new Point(2, 3));18 list.Add(new Point(2, 2));19 list.Add(new Point(3, 2));20 list.Add(new Point(3, 1));21 list.Add(new Point(5, 1));22 list.Add(new Point(5, 0));23 //右上24 list.Add(new Point(width - 5, 0));25 list.Add(new Point(width - 5, 1));26 list.Add(new Point(width - 3, 1));27 list.Add(new Point(width - 3, 2));28 list.Add(new Point(width - 2, 2));29 list.Add(new Point(width - 2, 3));30 list.Add(new Point(width - 1, 3));31 list.Add(new Point(width - 1, 5));32 list.Add(new Point(width - 0, 5));33 //右下34 list.Add(new Point(width - 0, height - 5));35 list.Add(new Point(width - 1, height - 5));36 list.Add(new Point(width - 1, height - 3));37 list.Add(new Point(width - 2, height - 3));38 list.Add(new Point(width - 2, height - 2));39 list.Add(new Point(width - 3, height - 2));40 list.Add(new Point(width - 3, height - 1));41 list.Add(new Point(width - 5, height - 1));42 list.Add(new Point(width - 5, height - 0));43 //左下44 list.Add(new Point(5, height - 0));45 list.Add(new Point(5, height - 1));46 list.Add(new Point(3, height - 1));47 list.Add(new Point(3, height - 2));48 list.Add(new Point(2, height - 2));49 list.Add(new Point(2, height - 3));50 list.Add(new Point(1, height - 3));51 list.Add(new Point(1, height - 5));52 list.Add(new Point(0, height - 5));53 54 Point[] points = list.ToArray();55 56 GraphicsPath shape = new GraphicsPath();57 shape.AddPolygon(points);58 59 //将窗体的显示区域设为GraphicsPath的实例60 form.Region = new System.Drawing.Region(shape);61 }
页:
[1]