83 lines
2.3 KiB
C#
83 lines
2.3 KiB
C#
namespace RyzStudio.Windows.ThemedForms
|
|
{
|
|
using System;
|
|
using System.ComponentModel;
|
|
using System.Drawing;
|
|
using System.Windows.Forms;
|
|
|
|
/// <summary>
|
|
/// Theme customised form
|
|
/// </summary>
|
|
public partial class Form : System.Windows.Forms.Form
|
|
{
|
|
protected Image topImage = null;
|
|
protected Color topFillColour = Color.FromArgb(15, 15, 15);
|
|
protected int topFillHeight = 52;
|
|
|
|
protected Image bottomImage = null;
|
|
protected Color bottomFillColour = Color.FromArgb(15, 15, 15);
|
|
protected int bottomFillMargin = 19;
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the Form class
|
|
/// </summary>
|
|
public Form()
|
|
{
|
|
this.InitializeComponent();
|
|
|
|
this.BackColor = Color.FromArgb(246, 246, 246);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Onresize event
|
|
/// </summary>
|
|
/// <param name="e">Event argument</param>
|
|
protected override void OnResize(EventArgs e)
|
|
{
|
|
base.OnResize(e);
|
|
|
|
this.Invalidate();
|
|
}
|
|
|
|
/// <summary>
|
|
/// OnPaint event
|
|
/// </summary>
|
|
/// <param name="e">Event argument</param>
|
|
protected override void OnPaint(PaintEventArgs e)
|
|
{
|
|
base.OnPaint(e);
|
|
|
|
Graphics g = e.Graphics;
|
|
|
|
Rectangle areaTop = new Rectangle(this.DisplayRectangle.Left, 0, this.DisplayRectangle.Width, topFillHeight);
|
|
Rectangle areaBottom = new Rectangle(this.DisplayRectangle.Left, (this.DisplayRectangle.Height - bottomFillMargin), this.DisplayRectangle.Width, bottomFillMargin);
|
|
|
|
// draw header
|
|
if (topFillHeight > 0)
|
|
{
|
|
g.FillRectangle(new SolidBrush(topFillColour), areaTop);
|
|
}
|
|
|
|
// draw footer
|
|
if (bottomFillMargin > 0)
|
|
{
|
|
g.FillRectangle(new SolidBrush(bottomFillColour), areaBottom);
|
|
}
|
|
|
|
// draw logo
|
|
if (topImage != null)
|
|
{
|
|
g.DrawImageUnscaled(topImage, 0, 0);
|
|
}
|
|
|
|
if (bottomImage != null)
|
|
{
|
|
g.DrawImageUnscaled(bottomImage, 0, (this.DisplayRectangle.Height - bottomImage.Height - bottomFillMargin), this.DisplayRectangle.Width, bottomImage.Height);
|
|
}
|
|
}
|
|
|
|
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
|
|
public new Color BackColor { get => base.BackColor; set => base.BackColor = value; }
|
|
|
|
}
|
|
} |