在WM中画个带有边框的Panel 想在ppc上类似的带有边框的Panel(美观嘛),可惜WM自带的Panel有没有这项属性,于是自己继承封装了一个,很简单滴 using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.Drawing; using System.Drawing.Drawing2D; namespace DrawPanel { public class DrawPanel:Panel { protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); Graphics g = e.Graphics; Pen pen = new Pen(_borderColor, _borderWidth); pen.DashStyle = _borderDashStyle; g.DrawRectangle(pen,e.ClipRectangle.X,e.ClipRectangle.Y, e.ClipRectangle.Width-1, e.ClipRectangle.Height-1); } Color _borderColor = Color.Black; /**//// <summary> /// 获取或设置边框颜色 /// </summary> public virtual Color BorderColor { get { return _borderColor; } set { _borderColor=value ; } } float _borderWidth = 1f; /**//// <summary> /// 获取或设置边框的宽度 /// </summary> public virtual float BorderWidth { get { return _borderWidth; } set { _borderWidth=value; } } DashStyle _borderDashStyle = DashStyle.Solid; /**//// <summary> /// 获取或设置边框的样式 /// </summary> public DashStyle BorderDashStyle { get { return _borderDashStyle; } set { _borderDashStyle=value; } } }}