58 lines
1.9 KiB
C#
58 lines
1.9 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
using System.Windows.Forms.Design;
|
|
using System.ComponentModel;
|
|
using System.Windows.Forms;
|
|
using System.Collections;
|
|
using System.Drawing;
|
|
using System.Drawing.Drawing2D;
|
|
using DevComponents.DotNetBar.Controls;
|
|
|
|
namespace DevComponents.DotNetBar.Design
|
|
{
|
|
[ToolboxItemFilter("System.Windows.Forms.MainMenu", ToolboxItemFilterType.Prevent), ToolboxItemFilter("System.Windows.Forms.UserControl", ToolboxItemFilterType.Custom)]
|
|
public class SlidePanelDesigner : ScrollableControlDesigner
|
|
{
|
|
public SlidePanelDesigner()
|
|
{
|
|
base.AutoResizeHandles = true;
|
|
}
|
|
|
|
protected virtual void DrawBorder(Graphics graphics)
|
|
{
|
|
SlidePanel component = (SlidePanel)base.Component;
|
|
if ((component != null) && component.Visible)
|
|
{
|
|
Pen borderPen = this.BorderPen;
|
|
Rectangle clientRectangle = this.Control.ClientRectangle;
|
|
clientRectangle.Width--;
|
|
clientRectangle.Height--;
|
|
graphics.DrawRectangle(borderPen, clientRectangle);
|
|
borderPen.Dispose();
|
|
}
|
|
}
|
|
|
|
protected override void OnPaintAdornments(PaintEventArgs pe)
|
|
{
|
|
SlidePanel component = (SlidePanel)base.Component;
|
|
if (component.BorderStyle == BorderStyle.None)
|
|
{
|
|
this.DrawBorder(pe.Graphics);
|
|
}
|
|
base.OnPaintAdornments(pe);
|
|
}
|
|
|
|
// Properties
|
|
protected Pen BorderPen
|
|
{
|
|
get
|
|
{
|
|
Color color = (this.Control.BackColor.GetBrightness() < 0.5) ? ControlPaint.Light(this.Control.BackColor) : ControlPaint.Dark(this.Control.BackColor);
|
|
Pen pen = new Pen(color);
|
|
pen.DashStyle = DashStyle.Dash;
|
|
return pen;
|
|
}
|
|
}
|
|
}
|
|
} |