using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; namespace Rasterbar { public partial class rasterbar : UserControl { private Brush pensseli1; private Brush pensseli2; private Color alku; private Color loppu; public Color alkuvari { get { return alku; } set { alku = value; rasterbar_SizeChanged(this, null); } } public Color loppuvari { get { return loppu; } set { loppu = value; rasterbar_SizeChanged(this, null); } } public rasterbar() { InitializeComponent(); alku = Color.FromArgb(50, 0, 0); loppu = Color.FromArgb(255, 0, 0); pensseli1 = new System.Drawing.Drawing2D.LinearGradientBrush(new Point(0, 0), new Point(0, this.ClientSize.Height), alku , loppu); pensseli2 = new System.Drawing.Drawing2D.LinearGradientBrush(new Point(0, 0), new Point(0, this.ClientSize.Height), loppu, alku); } protected override void OnPaint(PaintEventArgs e) { Graphics canvas = e.Graphics; canvas.FillRectangle(pensseli1, 0,0,this.ClientSize.Width, this.ClientSize.Height/2); canvas.FillRectangle(pensseli2, 0, this.ClientSize.Height/2, this.ClientSize.Width, this.ClientSize.Height / 2); //base.OnPaint(e); } private void rasterbar_SizeChanged(object sender, EventArgs e) { pensseli1.Dispose(); pensseli2.Dispose(); pensseli1 = new System.Drawing.Drawing2D.LinearGradientBrush(new Point(0, 0), new Point(0, this.ClientSize.Height), alku, loppu); pensseli2 = new System.Drawing.Drawing2D.LinearGradientBrush(new Point(0, 0), new Point(0, this.ClientSize.Height), loppu, alku); Invalidate(); } private void Parent_Resize(object sender, EventArgs e) { if (AutoSize) { this.Width = Parent.ClientSize.Width; } } private void rasterbar_ParentChanged(object sender, EventArgs e) { if (Parent != null) { Parent.Resize += new EventHandler(Parent_Resize); if (AutoSize) this.Width = Parent.ClientSize.Width; } } } }