初始化提交
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Diagnostics;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace JinYuan.ControlLib
|
||||
{
|
||||
public partial class PanelExt : Panel
|
||||
{
|
||||
public PanelExt()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
//设置控件样式,去除缓冲
|
||||
this.SetStyle(ControlStyles.AllPaintingInWmPaint, true);
|
||||
this.SetStyle(ControlStyles.DoubleBuffer,true);
|
||||
this.SetStyle(ControlStyles.ResizeRedraw, true);
|
||||
this.SetStyle(ControlStyles.Selectable, true);
|
||||
this.SetStyle(ControlStyles.SupportsTransparentBackColor, true);
|
||||
}
|
||||
|
||||
private int topGap;
|
||||
[Browsable(true)]//是否可见
|
||||
[Category("自定义属性")] //类别
|
||||
[Description("设置或显示上边间隔距离")]
|
||||
public int TopGap
|
||||
{
|
||||
get { return topGap; }
|
||||
set
|
||||
{
|
||||
topGap = value;
|
||||
this.Invalidate();//点击后立即生效
|
||||
}
|
||||
}
|
||||
|
||||
private int bottomGap;
|
||||
[Browsable(true)]//是否可见
|
||||
[Category("自定义属性")] //类别
|
||||
[Description("设置或显示下边间隔距离")]
|
||||
public int BottomGap
|
||||
{
|
||||
get { return bottomGap; }
|
||||
set
|
||||
{
|
||||
bottomGap = value;
|
||||
this.Invalidate();//点击后立即生效
|
||||
}
|
||||
}
|
||||
|
||||
private int leftGap;
|
||||
[Browsable(true)]//是否可见
|
||||
[Category("自定义属性")] //类别
|
||||
[Description("设置或显示左边间隔距离")]
|
||||
public int LeftGap
|
||||
{
|
||||
get { return leftGap; }
|
||||
set
|
||||
{
|
||||
leftGap = value;
|
||||
this.Invalidate();//点击后立即生效
|
||||
}
|
||||
}
|
||||
|
||||
private int rightGap;
|
||||
[Browsable(true)]//是否可见
|
||||
[Category("自定义属性")] //类别
|
||||
[Description("设置或显示右边间隔距离")]
|
||||
public int RightGap
|
||||
{
|
||||
get { return rightGap; }
|
||||
set
|
||||
{
|
||||
rightGap = value;
|
||||
this.Invalidate();//点击后立即生效
|
||||
}
|
||||
}
|
||||
|
||||
private int bordeWidth=2;
|
||||
[Browsable(true)]//是否可见
|
||||
[Category("自定义属性")] //类别
|
||||
[Description("设置或显示边框的宽度")]
|
||||
public int BordeWidth
|
||||
{
|
||||
get { return bordeWidth; }
|
||||
set
|
||||
{
|
||||
bordeWidth = value;
|
||||
this.Invalidate();//点击后立即生效
|
||||
}
|
||||
}
|
||||
|
||||
private Color bordeColor=Color.FromArgb(35,255,253);
|
||||
[Browsable(true)]//是否可见
|
||||
[Category("自定义属性")] //类别
|
||||
[Description("设置或显示边框的颜色")]
|
||||
public Color BordeColor
|
||||
{
|
||||
get { return bordeColor; }
|
||||
set
|
||||
{
|
||||
bordeColor = value;
|
||||
this.Invalidate();//点击后立即生效
|
||||
}
|
||||
}
|
||||
|
||||
protected override void OnPaint(PaintEventArgs e)
|
||||
{
|
||||
base.OnPaint(e);
|
||||
//准备画布
|
||||
Graphics graphics = e.Graphics;
|
||||
//准备笔
|
||||
Pen pen = new Pen(bordeColor,bordeWidth);
|
||||
//准备矩形参数
|
||||
float x = leftGap + bordeWidth * 0.5f;
|
||||
float y = topGap + bordeWidth * 0.5f;
|
||||
float width = this.Width - leftGap - rightGap - bordeWidth;
|
||||
float height = this.Height - topGap - bottomGap - bordeWidth;
|
||||
|
||||
//绘制矩形
|
||||
graphics.DrawRectangle(pen, x, y, width, height);
|
||||
}
|
||||
|
||||
#region 减少闪烁
|
||||
protected override CreateParams CreateParams
|
||||
{
|
||||
get
|
||||
{
|
||||
CreateParams cp = base.CreateParams;
|
||||
cp.ExStyle |= 0x02000000;
|
||||
return cp;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user