想在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; }
}
}
}
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; }
}
}
}