using
System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace testgrid
... {
public partial class ColorScroll : Form
...{
Panel panel;
Label[] alabelName = new Label[3];
Label[] alabelValue = new Label[3];
VScrollBar[] avscroll = new VScrollBar[3];
public ColorScroll()
...{
Color[] acolor =...{ Color.Red, Color.Green, Color.Blue };
panel = new Panel();
panel.Parent = this;
panel.Location = new Point(0, 0);
panel.BackColor = Color.White;
for (int i = 0; i < 3; i++)
...{
alabelName[i] = new Label();
alabelName[i].Parent = panel;
alabelName[i].ForeColor = acolor[i];
alabelName[i].Text = "&" + acolor[i].ToKnownColor();
alabelName[i].TextAlign = ContentAlignment.MiddleCenter;
avscroll[i] = new VScrollBar();
avscroll[i].Parent = panel;
avscroll[i].SmallChange = 1;
avscroll[i].LargeChange = 16;
avscroll[i].Minimum = 0;
avscroll[i].Maximum = 255 + avscroll[i].LargeChange - 1;
avscroll[i].ValueChanged += new EventHandler(ColorScroll_ValueChanged);
avscroll[i].TabStop = true;
alabelValue[i] = new Label();
alabelValue[i].Parent = panel;
alabelValue[i].TextAlign = ContentAlignment.MiddleCenter;
}
Color color = BackColor;
avscroll[0].Value = color.R;
avscroll[1].Value = color.G;
avscroll[2].Value = color.B;
OnResize(EventArgs.Empty);
InitializeComponent();
}
protected override void OnResize(EventArgs e)
...{
base.OnResize(e);
int cx = ClientSize.Width;
int cy = ClientSize.Height;
int cyFont = Font.Height;
panel.Size = new Size(cx / 2, cy);
for (int i = 0; i < 3; i++)
...{
alabelName[i].Location = new Point(i * cx / 6, cyFont / 2);
alabelName[i].Size = new Size(cx / 6, cyFont);
avscroll[i].Location = new Point((4 * i + 1) * cx / 24, 2 * cyFont);
avscroll[i].Size = new Size(cx / 12, cy - 4 * cyFont);
alabelValue[i].Location = new Point(i * cx / 6, cy - 3 * cyFont / 2);
alabelValue[i].Size = new Size(cx / 6, cyFont);
}
}
void ColorScroll_ValueChanged(object sender, EventArgs e)
...{
//throw new Exception("The method or operation is not implemented.");
for (int i = 0; i < 3; i++)
...{
if ((VScrollBar)sender == avscroll[i])
...{
alabelValue[i].Text = avscroll[i].Value.ToString();
}
}
BackColor = Color.FromArgb(avscroll[0].Value, avscroll[1].Value, avscroll[2].Value);
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace testgrid
... {
public partial class ColorScroll : Form
...{
Panel panel;
Label[] alabelName = new Label[3];
Label[] alabelValue = new Label[3];
VScrollBar[] avscroll = new VScrollBar[3];
public ColorScroll()
...{
Color[] acolor =...{ Color.Red, Color.Green, Color.Blue };
panel = new Panel();
panel.Parent = this;
panel.Location = new Point(0, 0);
panel.BackColor = Color.White;
for (int i = 0; i < 3; i++)
...{
alabelName[i] = new Label();
alabelName[i].Parent = panel;
alabelName[i].ForeColor = acolor[i];
alabelName[i].Text = "&" + acolor[i].ToKnownColor();
alabelName[i].TextAlign = ContentAlignment.MiddleCenter;
avscroll[i] = new VScrollBar();
avscroll[i].Parent = panel;
avscroll[i].SmallChange = 1;
avscroll[i].LargeChange = 16;
avscroll[i].Minimum = 0;
avscroll[i].Maximum = 255 + avscroll[i].LargeChange - 1;
avscroll[i].ValueChanged += new EventHandler(ColorScroll_ValueChanged);
avscroll[i].TabStop = true;
alabelValue[i] = new Label();
alabelValue[i].Parent = panel;
alabelValue[i].TextAlign = ContentAlignment.MiddleCenter;
}
Color color = BackColor;
avscroll[0].Value = color.R;
avscroll[1].Value = color.G;
avscroll[2].Value = color.B;
OnResize(EventArgs.Empty);
InitializeComponent();
}
protected override void OnResize(EventArgs e)
...{
base.OnResize(e);
int cx = ClientSize.Width;
int cy = ClientSize.Height;
int cyFont = Font.Height;
panel.Size = new Size(cx / 2, cy);
for (int i = 0; i < 3; i++)
...{
alabelName[i].Location = new Point(i * cx / 6, cyFont / 2);
alabelName[i].Size = new Size(cx / 6, cyFont);
avscroll[i].Location = new Point((4 * i + 1) * cx / 24, 2 * cyFont);
avscroll[i].Size = new Size(cx / 12, cy - 4 * cyFont);
alabelValue[i].Location = new Point(i * cx / 6, cy - 3 * cyFont / 2);
alabelValue[i].Size = new Size(cx / 6, cyFont);
}
}
void ColorScroll_ValueChanged(object sender, EventArgs e)
...{
//throw new Exception("The method or operation is not implemented.");
for (int i = 0; i < 3; i++)
...{
if ((VScrollBar)sender == avscroll[i])
...{
alabelValue[i].Text = avscroll[i].Value.ToString();
}
}
BackColor = Color.FromArgb(avscroll[0].Value, avscroll[1].Value, avscroll[2].Value);
}
}
}