【发布时间】:2020-10-26 20:35:29
【问题描述】:
我创建了面板类“GpanelBorder”,它使用代码在自定义面板中绘制边框:
namespace GetterControlsLibary
{
public class GpanelBorder : Panel
{
private Color colorBorder;
public GpanelBorder()
{
SetStyle(ControlStyles.UserPaint | ControlStyles.ResizeRedraw | ControlStyles.DoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawRectangle(
new Pen(
new SolidBrush(colorBorder), 8),
e.ClipRectangle);
}
public Color BorderColor
{
get
{
return colorBorder;
}
set
{
colorBorder = value;
}
}
}
}
工作正常,但当我处于设计模式时,鼠标单击面板内并移动鼠标或将其他控件拖动到此面板上,会创建工件(下图)
如何解决?
【问题讨论】:
-
查看是否有任何标志对设计器不利,如果是,则检测设计模式并相应地设置标志:stackoverflow.com/questions/1166226/…