桦仔 发表于 2013-1-2 22:53:34

利用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]
查看完整版本: 利用DOTNETBAR制作圆角窗体和圆角控件