SunnyUI/SunnyUI/Controls/DropItem/UIColorItem.cs

623 lines
28 KiB
C#

using System;
using System.Drawing;
namespace Sunny.UI
{
public sealed class UIColorItem : UIDropDownItem, ITranslate
{
public UIColorItem()
{
InitializeComponent();
Translate();
}
public override void SetDPIScale()
{
if (!IsScaled)
{
m_opacitySlider.SetDPIScaleFont();
m_colorBar.SetDPIScaleFont();
foreach (var label in this.GetControls<UILabel>())
{
label.SetDPIScaleFont();
}
foreach (var label in this.GetControls<UITextBox>())
{
label.SetDPIScaleFont();
}
btnOK.SetDPIScaleFont();
btnCancel.SetDPIScaleFont();
}
base.SetDPIScale();
}
public void Translate()
{
btnOK.Text = UILocalize.OK;
btnCancel.Text = UILocalize.Cancel;
}
private LabelRotate m_colorSample;
private UITextBox edtA;
private UITextBox edtR;
private UITextBox edtG;
private UITextBox edtB;
private UILabel lblA;
private UILabel lblR;
private UILabel lblG;
private UILabel lblB;
private UIColorWheel m_colorWheel;
private HSLColorSlider m_colorBar;
private ColorSlider m_opacitySlider;
private UISymbolButton btnOK;
private UISymbolButton btnCancel;
private UIColorTable m_colorTable;
private void InitializeComponent()
{
this.m_colorTable = new Sunny.UI.UIColorTable();
this.m_colorSample = new Sunny.UI.LabelRotate();
this.edtA = new Sunny.UI.UITextBox();
this.edtR = new Sunny.UI.UITextBox();
this.edtG = new Sunny.UI.UITextBox();
this.edtB = new Sunny.UI.UITextBox();
this.lblA = new Sunny.UI.UILabel();
this.lblR = new Sunny.UI.UILabel();
this.lblG = new Sunny.UI.UILabel();
this.lblB = new Sunny.UI.UILabel();
this.m_colorWheel = new Sunny.UI.UIColorWheel();
this.m_colorBar = new Sunny.UI.HSLColorSlider();
this.m_opacitySlider = new Sunny.UI.ColorSlider();
this.btnOK = new Sunny.UI.UISymbolButton();
this.btnCancel = new Sunny.UI.UISymbolButton();
this.SuspendLayout();
//
// m_colorTable
//
this.m_colorTable.BackColor = System.Drawing.Color.Transparent;
this.m_colorTable.Colors = new System.Drawing.Color[] {
System.Drawing.Color.Black,
System.Drawing.Color.DarkGreen,
System.Drawing.Color.DarkSlateGray,
System.Drawing.Color.Purple,
System.Drawing.Color.Maroon,
System.Drawing.Color.Teal,
System.Drawing.Color.Green,
System.Drawing.Color.Olive,
System.Drawing.Color.Navy,
System.Drawing.Color.Indigo,
System.Drawing.Color.MidnightBlue,
System.Drawing.Color.DarkRed,
System.Drawing.Color.DarkMagenta,
System.Drawing.Color.DarkBlue,
System.Drawing.Color.DarkCyan,
System.Drawing.Color.DarkOliveGreen,
System.Drawing.Color.SaddleBrown,
System.Drawing.Color.ForestGreen,
System.Drawing.Color.OliveDrab,
System.Drawing.Color.SeaGreen,
System.Drawing.Color.DarkGoldenrod,
System.Drawing.Color.DarkSlateBlue,
System.Drawing.Color.MediumBlue,
System.Drawing.Color.Sienna,
System.Drawing.Color.Brown,
System.Drawing.Color.DarkTurquoise,
System.Drawing.Color.DimGray,
System.Drawing.Color.LightSeaGreen,
System.Drawing.Color.DarkViolet,
System.Drawing.Color.Firebrick,
System.Drawing.Color.MediumVioletRed,
System.Drawing.Color.MediumSeaGreen,
System.Drawing.Color.Crimson,
System.Drawing.Color.Chocolate,
System.Drawing.Color.MediumSpringGreen,
System.Drawing.Color.Goldenrod,
System.Drawing.Color.SteelBlue,
System.Drawing.Color.LawnGreen,
System.Drawing.Color.DarkOrchid,
System.Drawing.Color.Orange,
System.Drawing.Color.LimeGreen,
System.Drawing.Color.Yellow,
System.Drawing.Color.Gold,
System.Drawing.Color.Red,
System.Drawing.Color.Magenta,
System.Drawing.Color.Lime,
System.Drawing.Color.SpringGreen,
System.Drawing.Color.YellowGreen,
System.Drawing.Color.Chartreuse,
System.Drawing.Color.DeepSkyBlue,
System.Drawing.Color.Aqua,
System.Drawing.Color.OrangeRed,
System.Drawing.Color.Blue,
System.Drawing.Color.DarkOrange,
System.Drawing.Color.CadetBlue,
System.Drawing.Color.Cyan,
System.Drawing.Color.Fuchsia,
System.Drawing.Color.Gray,
System.Drawing.Color.SlateGray,
System.Drawing.Color.Peru,
System.Drawing.Color.BlueViolet,
System.Drawing.Color.LightSlateGray,
System.Drawing.Color.DeepPink,
System.Drawing.Color.MediumTurquoise,
System.Drawing.Color.DodgerBlue,
System.Drawing.Color.Turquoise,
System.Drawing.Color.RoyalBlue,
System.Drawing.Color.SlateBlue,
System.Drawing.Color.MediumOrchid,
System.Drawing.Color.DarkKhaki,
System.Drawing.Color.IndianRed,
System.Drawing.Color.GreenYellow,
System.Drawing.Color.MediumAquamarine,
System.Drawing.Color.Tomato,
System.Drawing.Color.DarkSeaGreen,
System.Drawing.Color.Orchid,
System.Drawing.Color.RosyBrown,
System.Drawing.Color.PaleVioletRed,
System.Drawing.Color.MediumPurple,
System.Drawing.Color.Coral,
System.Drawing.Color.CornflowerBlue,
System.Drawing.Color.DarkGray,
System.Drawing.Color.SandyBrown,
System.Drawing.Color.MediumSlateBlue,
System.Drawing.Color.Tan,
System.Drawing.Color.DarkSalmon,
System.Drawing.Color.BurlyWood,
System.Drawing.Color.HotPink,
System.Drawing.Color.Salmon,
System.Drawing.Color.Violet,
System.Drawing.Color.LightCoral,
System.Drawing.Color.SkyBlue,
System.Drawing.Color.LightSalmon,
System.Drawing.Color.Khaki,
System.Drawing.Color.Plum,
System.Drawing.Color.LightGreen,
System.Drawing.Color.Aquamarine,
System.Drawing.Color.Silver,
System.Drawing.Color.LightSkyBlue,
System.Drawing.Color.LightSteelBlue,
System.Drawing.Color.LightBlue,
System.Drawing.Color.PaleGreen,
System.Drawing.Color.PowderBlue,
System.Drawing.Color.Thistle,
System.Drawing.Color.PaleGoldenrod,
System.Drawing.Color.PaleTurquoise,
System.Drawing.Color.LightGray,
System.Drawing.Color.Wheat,
System.Drawing.Color.NavajoWhite,
System.Drawing.Color.Moccasin,
System.Drawing.Color.LightPink,
System.Drawing.Color.PeachPuff,
System.Drawing.Color.Gainsboro,
System.Drawing.Color.Pink,
System.Drawing.Color.Bisque,
System.Drawing.Color.LightGoldenrodYellow,
System.Drawing.Color.LemonChiffon,
System.Drawing.Color.BlanchedAlmond,
System.Drawing.Color.Beige,
System.Drawing.Color.AntiqueWhite,
System.Drawing.Color.PapayaWhip,
System.Drawing.Color.Cornsilk,
System.Drawing.Color.LightYellow,
System.Drawing.Color.LightCyan,
System.Drawing.Color.Lavender,
System.Drawing.Color.Linen,
System.Drawing.Color.MistyRose,
System.Drawing.Color.OldLace,
System.Drawing.Color.WhiteSmoke,
System.Drawing.Color.SeaShell,
System.Drawing.Color.Azure,
System.Drawing.Color.Honeydew,
System.Drawing.Color.Ivory,
System.Drawing.Color.LavenderBlush,
System.Drawing.Color.FloralWhite,
System.Drawing.Color.AliceBlue,
System.Drawing.Color.MintCream,
System.Drawing.Color.GhostWhite,
System.Drawing.Color.Snow,
System.Drawing.Color.White};
this.m_colorTable.Cols = 16;
this.m_colorTable.FieldSize = new System.Drawing.Size(12, 12);
this.m_colorTable.FrameColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
this.m_colorTable.Location = new System.Drawing.Point(10, 8);
this.m_colorTable.Name = "m_colorTable";
this.m_colorTable.Padding = new System.Windows.Forms.Padding(8);
this.m_colorTable.RotatePointAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.m_colorTable.SelectedItem = System.Drawing.Color.Black;
this.m_colorTable.Size = new System.Drawing.Size(253, 148);
this.m_colorTable.Style = Sunny.UI.UIStyle.Custom;
this.m_colorTable.StyleCustomMode = false;
this.m_colorTable.TabIndex = 0;
this.m_colorTable.TagString = null;
this.m_colorTable.Text = "colorTable1";
this.m_colorTable.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.m_colorTable.TextAngle = 0F;
this.m_colorTable.SelectedIndexChanged += new System.EventHandler(this.m_colorTable_SelectedIndexChanged);
//
// m_colorSample
//
this.m_colorSample.FrameColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
this.m_colorSample.Location = new System.Drawing.Point(10, 163);
this.m_colorSample.Name = "m_colorSample";
this.m_colorSample.RotatePointAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.m_colorSample.Size = new System.Drawing.Size(253, 26);
this.m_colorSample.Style = Sunny.UI.UIStyle.Custom;
this.m_colorSample.StyleCustomMode = false;
this.m_colorSample.TabIndex = 1;
this.m_colorSample.TabStop = false;
this.m_colorSample.TagString = null;
this.m_colorSample.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.m_colorSample.TextAngle = 0F;
this.m_colorSample.Paint += new System.Windows.Forms.PaintEventHandler(this.m_colorSample_Paint);
//
// edtA
//
this.edtA.Cursor = System.Windows.Forms.Cursors.IBeam;
this.edtA.FillColor = System.Drawing.Color.White;
this.edtA.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.edtA.Location = new System.Drawing.Point(29, 197);
this.edtA.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.edtA.Maximum = 255D;
this.edtA.Minimum = 0D;
this.edtA.Name = "edtA";
this.edtA.Padding = new System.Windows.Forms.Padding(5);
this.edtA.Size = new System.Drawing.Size(41, 26);
this.edtA.Style = Sunny.UI.UIStyle.Custom;
this.edtA.TabIndex = 2;
this.edtA.Text = "0";
this.edtA.Type = Sunny.UI.UITextBox.UIEditType.Integer;
//
// edtR
//
this.edtR.Cursor = System.Windows.Forms.Cursors.IBeam;
this.edtR.FillColor = System.Drawing.Color.White;
this.edtR.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.edtR.Location = new System.Drawing.Point(93, 197);
this.edtR.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.edtR.Maximum = 255D;
this.edtR.Minimum = 0D;
this.edtR.Name = "edtR";
this.edtR.Padding = new System.Windows.Forms.Padding(5);
this.edtR.Size = new System.Drawing.Size(41, 26);
this.edtR.Style = Sunny.UI.UIStyle.Custom;
this.edtR.TabIndex = 3;
this.edtR.Text = "0";
this.edtR.Type = Sunny.UI.UITextBox.UIEditType.Integer;
//
// edtG
//
this.edtG.Cursor = System.Windows.Forms.Cursors.IBeam;
this.edtG.FillColor = System.Drawing.Color.White;
this.edtG.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.edtG.Location = new System.Drawing.Point(158, 197);
this.edtG.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.edtG.Maximum = 255D;
this.edtG.Minimum = 0D;
this.edtG.Name = "edtG";
this.edtG.Padding = new System.Windows.Forms.Padding(5);
this.edtG.Size = new System.Drawing.Size(41, 26);
this.edtG.Style = Sunny.UI.UIStyle.Custom;
this.edtG.TabIndex = 4;
this.edtG.Text = "0";
this.edtG.Type = Sunny.UI.UITextBox.UIEditType.Integer;
//
// edtB
//
this.edtB.Cursor = System.Windows.Forms.Cursors.IBeam;
this.edtB.FillColor = System.Drawing.Color.White;
this.edtB.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.edtB.Location = new System.Drawing.Point(222, 197);
this.edtB.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
this.edtB.Maximum = 255D;
this.edtB.Minimum = 0D;
this.edtB.Name = "edtB";
this.edtB.Padding = new System.Windows.Forms.Padding(5);
this.edtB.Size = new System.Drawing.Size(41, 26);
this.edtB.Style = Sunny.UI.UIStyle.Custom;
this.edtB.TabIndex = 5;
this.edtB.Text = "0";
this.edtB.Type = Sunny.UI.UITextBox.UIEditType.Integer;
//
// lblA
//
this.lblA.AutoSize = true;
this.lblA.BackColor = System.Drawing.Color.Transparent;
this.lblA.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblA.Location = new System.Drawing.Point(9, 200);
this.lblA.Name = "lblA";
this.lblA.Size = new System.Drawing.Size(19, 20);
this.lblA.Style = Sunny.UI.UIStyle.Custom;
this.lblA.TabIndex = 6;
this.lblA.Text = "A";
this.lblA.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// lblR
//
this.lblR.AutoSize = true;
this.lblR.BackColor = System.Drawing.Color.Transparent;
this.lblR.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblR.Location = new System.Drawing.Point(74, 200);
this.lblR.Name = "lblR";
this.lblR.Size = new System.Drawing.Size(18, 20);
this.lblR.Style = Sunny.UI.UIStyle.Custom;
this.lblR.TabIndex = 7;
this.lblR.Text = "R";
this.lblR.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// lblG
//
this.lblG.AutoSize = true;
this.lblG.BackColor = System.Drawing.Color.Transparent;
this.lblG.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblG.Location = new System.Drawing.Point(138, 200);
this.lblG.Name = "lblG";
this.lblG.Size = new System.Drawing.Size(19, 20);
this.lblG.Style = Sunny.UI.UIStyle.Custom;
this.lblG.TabIndex = 8;
this.lblG.Text = "G";
this.lblG.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// lblB
//
this.lblB.AutoSize = true;
this.lblB.BackColor = System.Drawing.Color.Transparent;
this.lblB.Font = new System.Drawing.Font("宋体", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.lblB.Location = new System.Drawing.Point(203, 200);
this.lblB.Name = "lblB";
this.lblB.Size = new System.Drawing.Size(18, 20);
this.lblB.Style = Sunny.UI.UIStyle.Custom;
this.lblB.TabIndex = 9;
this.lblB.Text = "B";
this.lblB.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
//
// m_colorWheel
//
this.m_colorWheel.BackColor = System.Drawing.Color.Transparent;
this.m_colorWheel.FrameColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
this.m_colorWheel.Location = new System.Drawing.Point(269, 8);
this.m_colorWheel.Name = "m_colorWheel";
this.m_colorWheel.SelectedColor = System.Drawing.Color.FromArgb(((int)(((byte)(254)))), ((int)(((byte)(235)))), ((int)(((byte)(205)))));
this.m_colorWheel.Size = new System.Drawing.Size(148, 148);
this.m_colorWheel.Style = Sunny.UI.UIStyle.Custom;
this.m_colorWheel.StyleCustomMode = false;
this.m_colorWheel.TabIndex = 10;
this.m_colorWheel.TagString = null;
this.m_colorWheel.Text = "colorWheel1";
this.m_colorWheel.SelectedColorChanged += new System.EventHandler(this.m_colorWheel_SelectedColorChanged);
//
// m_colorBar
//
this.m_colorBar.BackColor = System.Drawing.Color.Transparent;
this.m_colorBar.BarPadding = new System.Windows.Forms.Padding(12, 5, 32, 10);
this.m_colorBar.Color1 = System.Drawing.Color.Black;
this.m_colorBar.Color2 = System.Drawing.Color.FromArgb(((int)(((byte)(127)))), ((int)(((byte)(127)))), ((int)(((byte)(127)))));
this.m_colorBar.Color3 = System.Drawing.Color.White;
this.m_colorBar.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.m_colorBar.FrameColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
this.m_colorBar.Location = new System.Drawing.Point(422, 8);
this.m_colorBar.Name = "m_colorBar";
this.m_colorBar.NumberOfColors = Sunny.UI.ColorSlider.eNumberOfColors.Use3Colors;
this.m_colorBar.Orientation = System.Windows.Forms.Orientation.Vertical;
this.m_colorBar.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0);
this.m_colorBar.Percent = 0F;
this.m_colorBar.RotatePointAlignment = System.Drawing.ContentAlignment.MiddleRight;
this.m_colorBar.Size = new System.Drawing.Size(45, 148);
this.m_colorBar.Style = Sunny.UI.UIStyle.Custom;
this.m_colorBar.StyleCustomMode = false;
this.m_colorBar.TabIndex = 11;
this.m_colorBar.TagString = null;
this.m_colorBar.Text = "Lightness";
this.m_colorBar.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
this.m_colorBar.TextAngle = 270F;
this.m_colorBar.ValueOrientation = Sunny.UI.ColorSlider.eValueOrientation.MaxToMin;
this.m_colorBar.SelectedValueChanged += new System.EventHandler(this.m_colorBar_SelectedValueChanged);
//
// m_opacitySlider
//
this.m_opacitySlider.BackColor = System.Drawing.Color.Transparent;
this.m_opacitySlider.BarPadding = new System.Windows.Forms.Padding(60, 12, 80, 25);
this.m_opacitySlider.Color1 = System.Drawing.Color.White;
this.m_opacitySlider.Color2 = System.Drawing.Color.Black;
this.m_opacitySlider.Color3 = System.Drawing.Color.Black;
this.m_opacitySlider.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.m_opacitySlider.ForeColor = System.Drawing.Color.Black;
this.m_opacitySlider.FrameColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(160)))), ((int)(((byte)(255)))));
this.m_opacitySlider.Location = new System.Drawing.Point(269, 163);
this.m_opacitySlider.Name = "m_opacitySlider";
this.m_opacitySlider.NumberOfColors = Sunny.UI.ColorSlider.eNumberOfColors.Use2Colors;
this.m_opacitySlider.Orientation = System.Windows.Forms.Orientation.Horizontal;
this.m_opacitySlider.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0);
this.m_opacitySlider.Percent = 1F;
this.m_opacitySlider.RotatePointAlignment = System.Drawing.ContentAlignment.MiddleCenter;
this.m_opacitySlider.Size = new System.Drawing.Size(198, 26);
this.m_opacitySlider.Style = Sunny.UI.UIStyle.Custom;
this.m_opacitySlider.StyleCustomMode = false;
this.m_opacitySlider.TabIndex = 1;
this.m_opacitySlider.TagString = null;
this.m_opacitySlider.Text = "Opacity";
this.m_opacitySlider.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.m_opacitySlider.TextAngle = 0F;
this.m_opacitySlider.ValueOrientation = Sunny.UI.ColorSlider.eValueOrientation.MinToMax;
this.m_opacitySlider.SelectedValueChanged += new System.EventHandler(this.m_opacitySlider_SelectedValueChanged);
//
// btnOK
//
this.btnOK.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnOK.Font = new System.Drawing.Font("宋体", 12F);
this.btnOK.Location = new System.Drawing.Point(269, 197);
this.btnOK.Name = "btnOK";
this.btnOK.Padding = new System.Windows.Forms.Padding(28, 0, 0, 0);
this.btnOK.Size = new System.Drawing.Size(95, 26);
this.btnOK.Style = Sunny.UI.UIStyle.Custom;
this.btnOK.TabIndex = 12;
this.btnOK.Text = "确定";
this.btnOK.Click += new System.EventHandler(this.btnOK_Click);
//
// btnCancel
//
this.btnCancel.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnCancel.Font = new System.Drawing.Font("宋体", 12F);
this.btnCancel.Location = new System.Drawing.Point(372, 197);
this.btnCancel.Name = "btnCancel";
this.btnCancel.Padding = new System.Windows.Forms.Padding(28, 0, 0, 0);
this.btnCancel.Size = new System.Drawing.Size(95, 26);
this.btnCancel.Style = Sunny.UI.UIStyle.Custom;
this.btnCancel.Symbol = 61453;
this.btnCancel.TabIndex = 13;
this.btnCancel.Text = "取消";
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
//
// UIColorItem
//
this.Controls.Add(this.btnCancel);
this.Controls.Add(this.btnOK);
this.Controls.Add(this.m_opacitySlider);
this.Controls.Add(this.m_colorBar);
this.Controls.Add(this.m_colorWheel);
this.Controls.Add(this.lblB);
this.Controls.Add(this.lblG);
this.Controls.Add(this.lblR);
this.Controls.Add(this.lblA);
this.Controls.Add(this.edtB);
this.Controls.Add(this.edtG);
this.Controls.Add(this.edtR);
this.Controls.Add(this.edtA);
this.Controls.Add(this.m_colorSample);
this.Controls.Add(this.m_colorTable);
this.FillColor = System.Drawing.Color.White;
this.Name = "UIColorItem";
this.Size = new System.Drawing.Size(476, 233);
this.Style = Sunny.UI.UIStyle.Custom;
this.ResumeLayout(false);
this.PerformLayout();
}
private void m_colorTable_SelectedIndexChanged(object sender, EventArgs e)
{
Color selcol = (Color)m_colorTable.SelectedItem;
if (selcol != m_selectedColor)
{
lockColorTable = true;
m_colorWheel.SelectedColor = selcol;
lockColorTable = false;
m_colorSample.Invalidate();
}
}
private Color m_selectedColor = Color.AntiqueWhite;
private float m_opacity = 1;
private bool lockColorTable = false;
public Color SelectedColor
{
get { return Color.FromArgb((int)Math.Floor(255f * m_opacity), m_selectedColor); }
set
{
m_opacity = (float)value.A / 255f;
value = Color.FromArgb(255, value);
m_colorWheel.SelectedColor = value;
if (m_colorTable.ColorExist(value) == false)
m_colorTable.SetCustomColor(value);
m_colorTable.SelectedItem = value;
m_opacitySlider.Percent = m_opacity;
}
}
private void m_colorBar_SelectedValueChanged(object sender, EventArgs e)
{
m_colorWheel.SetLightness(m_colorBar.SelectedHSLColor.Lightness);
}
private void m_opacitySlider_SelectedValueChanged(object sender, EventArgs e)
{
m_opacity = Math.Max(0, m_opacitySlider.Percent);
m_opacity = Math.Min(1, m_opacitySlider.Percent);
m_colorSample.Refresh();
UpdateInfo();
}
private void UpdateInfo()
{
Color c = Color.FromArgb((int)Math.Floor(255f * m_opacity), m_selectedColor);
string info = string.Format("{0} aRGB({1}, {2}, {3}, {4})", m_colorWheel.SelectedHSLColor.ToString(), c.A, c.R, c.G, c.B);
edtA.IntValue = c.A;
edtR.IntValue = c.R;
edtG.IntValue = c.G;
edtB.IntValue = c.B;
//m_infoLabel.Text = info;
}
private void m_colorWheel_SelectedColorChanged(object sender, EventArgs e)
{
Color selcol = m_colorWheel.SelectedColor;
if (selcol != m_selectedColor)
{
m_selectedColor = selcol;
m_colorSample.Refresh();
if (lockColorTable == false && selcol != m_colorTable.SelectedItem)
m_colorTable.SetCustomColor(selcol);
}
m_colorBar.SelectedHSLColor = m_colorWheel.SelectedHSLColor;
UpdateInfo();
}
private void btnCancel_Click(object sender, EventArgs e)
{
Close();
}
private void btnOK_Click(object sender, EventArgs e)
{
DoValueChanged(this, SelectedColor);
Close();
}
private void m_colorSample_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Rectangle r = m_colorSample.ClientRectangle;
r.Inflate(-4, -4);
int width = r.Width;
r.Width /= 2;
Color c = Color.FromArgb((int)Math.Floor(255f * m_opacity), m_selectedColor);
e.Graphics.FillRectangle(c, r);
r.X += r.Width;
e.Graphics.FillRectangle(Color.White, r);
c = Color.FromArgb(255, m_selectedColor);
e.Graphics.FillRectangle(c, r);
}
/// <summary>
/// 设置主题样式
/// </summary>
/// <param name="uiColor">主题样式</param>
public override void SetStyleColor(UIBaseStyle uiColor)
{
base.SetStyleColor(uiColor);
RectColor = uiColor.RectColor;
BackColor = uiColor.PlainColor;
btnOK.SetStyleColor(uiColor);
btnCancel.SetStyleColor(uiColor);
m_colorTable.SetStyleColor(uiColor);
m_colorWheel.SetStyleColor(uiColor);
m_colorBar.SetStyleColor(uiColor);
m_colorSample.SetStyleColor(uiColor);
m_opacitySlider.SetStyleColor(uiColor);
edtA.SetStyleColor(uiColor);
edtR.SetStyleColor(uiColor);
edtG.SetStyleColor(uiColor);
edtB.SetStyleColor(uiColor);
lblA.ForeColor = lblR.ForeColor = lblG.ForeColor = lblB.ForeColor = uiColor.PanelForeColor;
}
}
}