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