Csharp/C Sharp by API/System.Windows.Forms/ColorDialog
Содержание
ColorDialog.AllowFullOpen
<source lang="csharp">
using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data;
public class ColorFontDialog : System.Windows.Forms.Form { private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; private System.Windows.Forms.Label label1; public ColorFontDialog() { this.Text = "Font and Color Dialogs"; this.button1.Text = "&Font"; this.button2.Text = "&Color"; this.label1.Text = "Change my FONT and COLOR!"; this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); this.SuspendLayout(); this.button1.Location = new System.Drawing.Point(24, 8); this.button1.Text = "button1"; this.button1.Click += new System.EventHandler(this.button1_Click_1); this.button2.Location = new System.Drawing.Point(120, 8); this.button2.Text = "button2"; this.button2.Click += new System.EventHandler(this.button2_Click); this.label1.Location = new System.Drawing.Point(8, 48); this.label1.Size = new System.Drawing.Size(280, 48); this.label1.TabIndex = 2; this.label1.Text = "label1"; this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 101); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.label1, this.button2, this.button1}); this.Name = "ColorFontDialog"; this.Text = "ColorFontDialog"; this.ResumeLayout(false); } static void Main() { Application.Run(new ColorFontDialog()); } private void button2_Click(object sender, System.EventArgs e) { ColorDialog cd = new ColorDialog(); cd.AllowFullOpen = true; // allow custom colors cd.FullOpen = true; // shows custom colors automatically cd.Color = Color.DarkBlue; // sets the custom color if(cd.ShowDialog() == System.Windows.Forms.DialogResult.OK) this.label1.ForeColor = cd.Color; } private void button1_Click_1(object sender, System.EventArgs e) { FontDialog fd = new FontDialog(); fd.ShowColor = true; fd.Color = Color.Blue; fd.ShowApply = true; // ColorDialog does not provide this option!!! fd.Apply += new EventHandler(ApplyFont); if(fd.ShowDialog() != System.Windows.Forms.DialogResult.Cancel) ChangeFont(fd); } private void ApplyFont(object o, EventArgs ea) { ChangeFont((FontDialog)o); } private void ChangeFont(FontDialog fd) { this.label1.Font = fd.Font; this.label1.ForeColor = fd.Color; } }
</source>
ColorDialog.AnyColor
<source lang="csharp">
using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class Test { static void Main() { System.Windows.Forms.ColorDialog colorDlg = new System.Windows.Forms.ColorDialog(); colorDlg.AnyColor = true; colorDlg.ShowHelp = true; if (colorDlg.ShowDialog() != DialogResult.Cancel) { string strARGB = colorDlg.Color.ToString(); Console.WriteLine(strARGB); } } } </source>
ColorDialog.Color
<source lang="csharp"> using System; using System.Collections.Generic; using System.ruponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; public class MainForm : Form {
private ColorDialog colorDlg; private Color currColor = Color.DimGray; public MainForm() { CenterToScreen(); colorDlg = new ColorDialog(); this.MouseDown += new MouseEventHandler(MainForm_MouseDown); } void MainForm_MouseDown(object sender, MouseEventArgs e) { if (colorDlg.ShowDialog() != DialogResult.Cancel) { currColor = colorDlg.Color; this.BackColor = currColor; string strARGB = colorDlg.Color.ToString(); MessageBox.Show(strARGB, "Color is:"); } }
}
</source>
ColorDialog.CustomColor
<source lang="csharp">
using System; using System.Drawing; using System.ruponentModel; using System.Windows.Forms;
public class ColorDialogWithCustomColor{
public static void Main(){ ColorDialog dlg=new ColorDialog(); dlg.FullOpen = true; // Define the first five of the custom color settings // 0xAARRGGBB where AA is alpha, // RR is red, // GG is green // BB is blue // expressed as the hexadecimal byte equivalent dlg.CustomColors = new int[5]{0x00ff8040, 0x00c256fe, 0x00aa2005, 0x0004f002, 0x002194b5}; dlg.ShowDialog(); }
}
</source>
ColorDialog.FullOpen
<source lang="csharp">
using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data;
public class ColorFontDialog : System.Windows.Forms.Form { private System.Windows.Forms.Button button1; private System.Windows.Forms.Button button2; private System.Windows.Forms.Label label1; public ColorFontDialog() { this.Text = "Font and Color Dialogs"; this.button1.Text = "&Font"; this.button2.Text = "&Color"; this.label1.Text = "Change my FONT and COLOR!"; this.button1 = new System.Windows.Forms.Button(); this.button2 = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); this.SuspendLayout(); this.button1.Location = new System.Drawing.Point(24, 8); this.button1.Text = "button1"; this.button1.Click += new System.EventHandler(this.button1_Click_1); this.button2.Location = new System.Drawing.Point(120, 8); this.button2.Text = "button2"; this.button2.Click += new System.EventHandler(this.button2_Click); this.label1.Location = new System.Drawing.Point(8, 48); this.label1.Size = new System.Drawing.Size(280, 48); this.label1.TabIndex = 2; this.label1.Text = "label1"; this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 101); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.label1, this.button2, this.button1}); this.Name = "ColorFontDialog"; this.Text = "ColorFontDialog"; this.ResumeLayout(false); } static void Main() { Application.Run(new ColorFontDialog()); } private void button2_Click(object sender, System.EventArgs e) { ColorDialog cd = new ColorDialog(); cd.AllowFullOpen = true; // allow custom colors cd.FullOpen = true; // shows custom colors automatically cd.Color = Color.DarkBlue; // sets the custom color if(cd.ShowDialog() == System.Windows.Forms.DialogResult.OK) this.label1.ForeColor = cd.Color; } private void button1_Click_1(object sender, System.EventArgs e) { FontDialog fd = new FontDialog(); fd.ShowColor = true; fd.Color = Color.Blue; fd.ShowApply = true; // ColorDialog does not provide this option!!! fd.Apply += new EventHandler(ApplyFont); if(fd.ShowDialog() != System.Windows.Forms.DialogResult.Cancel) ChangeFont(fd); } private void ApplyFont(object o, EventArgs ea) { ChangeFont((FontDialog)o); } private void ChangeFont(FontDialog fd) { this.label1.Font = fd.Font; this.label1.ForeColor = fd.Color; } }
</source>
ColorDialog.MouseDown
<source lang="csharp"> using System; using System.Collections.Generic; using System.ruponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; public class MainForm : Form {
private ColorDialog colorDlg; private Color currColor = Color.DimGray; public MainForm() { CenterToScreen(); colorDlg = new ColorDialog(); this.MouseDown += new MouseEventHandler(MainForm_MouseDown); } void MainForm_MouseDown(object sender, MouseEventArgs e) { if (colorDlg.ShowDialog() != DialogResult.Cancel) { currColor = colorDlg.Color; this.BackColor = currColor; string strARGB = colorDlg.Color.ToString(); MessageBox.Show(strARGB, "Color is:"); } }
}
</source>
ColorDialog.ShowDialog()
<source lang="csharp"> using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data;
public class ShowColorsComplex : System.Windows.Forms.Form { private System.Windows.Forms.Button backgroundColorButton; private System.Windows.Forms.Button textColorButton; public ShowColorsComplex() { InitializeComponent(); } private void InitializeComponent() { this.backgroundColorButton = new System.Windows.Forms.Button(); this.textColorButton = new System.Windows.Forms.Button(); this.SuspendLayout(); // // backgroundColorButton // this.backgroundColorButton.Location = new System.Drawing.Point(16, 16); this.backgroundColorButton.Name = "backgroundColorButton"; this.backgroundColorButton.Size = new System.Drawing.Size(264, 32); this.backgroundColorButton.TabIndex = 0; this.backgroundColorButton.Text = "Change Background Color"; this.backgroundColorButton.Click += new System.EventHandler(this.backgroundColorButton_Click); // // textColorButton // this.textColorButton.Location = new System.Drawing.Point(16, 64); this.textColorButton.Name = "textColorButton"; this.textColorButton.Size = new System.Drawing.Size(264, 32); this.textColorButton.TabIndex = 1; this.textColorButton.Text = "Change Text Color"; this.textColorButton.Click += new System.EventHandler(this.textColorButton_Click); // // ShowColorsComplex // this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 109); this.Controls.AddRange(new System.Windows.Forms.Control[] { this.textColorButton, this.backgroundColorButton}); this.Name = "ShowColorsComplex"; this.Text = "ShowColorsComplex"; this.ResumeLayout(false); } static void Main() { Application.Run( new ShowColorsComplex() ); } private void textColorButton_Click(object sender, System.EventArgs e ){ ColorDialog colorChooser = new ColorDialog(); DialogResult result; result = colorChooser.ShowDialog(); if ( result == DialogResult.Cancel ) return; backgroundColorButton.ForeColor = colorChooser.Color; textColorButton.ForeColor = colorChooser.Color; } private void backgroundColorButton_Click(object sender, System.EventArgs e ){ ColorDialog colorChooser = new ColorDialog(); DialogResult result; colorChooser.FullOpen = true; result = colorChooser.ShowDialog(); if ( result == DialogResult.Cancel ) return; this.BackColor = colorChooser.Color; } }
</source>
ColorDialog.ShowHelp
<source lang="csharp">
using System; using System.Drawing; using System.Collections; using System.ruponentModel; using System.Windows.Forms; using System.Data; public class Test { static void Main() { System.Windows.Forms.ColorDialog colorDlg = new System.Windows.Forms.ColorDialog(); colorDlg.AnyColor = true; colorDlg.ShowHelp = true; if (colorDlg.ShowDialog() != DialogResult.Cancel) { string strARGB = colorDlg.Color.ToString(); Console.WriteLine(strARGB); } } } </source>