Docking Demo


   

/*
User Interfaces in C#: Windows Forms and Custom Controls
by Matthew MacDonald

Publisher: Apress
ISBN: 1590590457
*/
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

namespace Docking
{
    /// <summary>
    /// Summary description for Docking.
    /// </summary>
    public class Docking : System.Windows.Forms.Form
    {
        internal System.Windows.Forms.GroupBox GroupBox1;
        internal System.Windows.Forms.Button cmdUpdate;
        internal System.Windows.Forms.NumericUpDown udDockPaddingForm;
        internal System.Windows.Forms.NumericUpDown udDockPaddingPanel;
        internal System.Windows.Forms.ComboBox lstDockPanel;
        internal System.Windows.Forms.Label Label3;
        internal System.Windows.Forms.Label Label4;
        internal System.Windows.Forms.ComboBox lstDockTextBox;
        internal System.Windows.Forms.Label Label2;
        internal System.Windows.Forms.Label Label1;
        internal System.Windows.Forms.Panel pnlDock;
        internal System.Windows.Forms.TextBox txtDock;
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public Docking()
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            //
            // TODO: Add any constructor code after InitializeComponent call
            //
        }

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        protected override void Dispose( bool disposing )
        {
            if( disposing )
            {
                if (components != null) 
                {
                    components.Dispose();
                }
            }
            base.Dispose( disposing );
        }

        #region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.GroupBox1 = new System.Windows.Forms.GroupBox();
            this.cmdUpdate = new System.Windows.Forms.Button();
            this.udDockPaddingForm = new System.Windows.Forms.NumericUpDown();
            this.udDockPaddingPanel = new System.Windows.Forms.NumericUpDown();
            this.lstDockPanel = new System.Windows.Forms.ComboBox();
            this.Label3 = new System.Windows.Forms.Label();
            this.Label4 = new System.Windows.Forms.Label();
            this.lstDockTextBox = new System.Windows.Forms.ComboBox();
            this.Label2 = new System.Windows.Forms.Label();
            this.Label1 = new System.Windows.Forms.Label();
            this.pnlDock = new System.Windows.Forms.Panel();
            this.txtDock = new System.Windows.Forms.TextBox();
            this.GroupBox1.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)(this.udDockPaddingForm)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.udDockPaddingPanel)).BeginInit();
            this.pnlDock.SuspendLayout();
            this.SuspendLayout();
            // 
            // GroupBox1
            // 
            this.GroupBox1.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                                    this.cmdUpdate,
                                                                                    this.udDockPaddingForm,
                                                                                    this.udDockPaddingPanel,
                                                                                    this.lstDockPanel,
                                                                                    this.Label3,
                                                                                    this.Label4,
                                                                                    this.lstDockTextBox,
                                                                                    this.Label2,
                                                                                    this.Label1});
            this.GroupBox1.Location = new System.Drawing.Point(192, 20);
            this.GroupBox1.Name = "GroupBox1";
            this.GroupBox1.Size = new System.Drawing.Size(284, 224);
            this.GroupBox1.TabIndex = 12;
            this.GroupBox1.TabStop = false;
            this.GroupBox1.Text = "Configure";
            // 
            // cmdUpdate
            // 
            this.cmdUpdate.Location = new System.Drawing.Point(160, 180);
            this.cmdUpdate.Name = "cmdUpdate";
            this.cmdUpdate.Size = new System.Drawing.Size(84, 24);
            this.cmdUpdate.TabIndex = 10;
            this.cmdUpdate.Text = "Update";
            this.cmdUpdate.Click += new System.EventHandler(this.cmdUpdate_Click);
            // 
            // udDockPaddingForm
            // 
            this.udDockPaddingForm.Increment = new System.Decimal(new int[] {
                                                                                5,
                                                                                0,
                                                                                0,
                                                                                0});
            this.udDockPaddingForm.Location = new System.Drawing.Point(160, 32);
            this.udDockPaddingForm.Name = "udDockPaddingForm";
            this.udDockPaddingForm.Size = new System.Drawing.Size(52, 21);
            this.udDockPaddingForm.TabIndex = 4;
            // 
            // udDockPaddingPanel
            // 
            this.udDockPaddingPanel.Increment = new System.Decimal(new int[] {
                                                                                 5,
                                                                                 0,
                                                                                 0,
                                                                                 0});
            this.udDockPaddingPanel.Location = new System.Drawing.Point(160, 56);
            this.udDockPaddingPanel.Name = "udDockPaddingPanel";
            this.udDockPaddingPanel.Size = new System.Drawing.Size(52, 21);
            this.udDockPaddingPanel.TabIndex = 5;
            this.udDockPaddingPanel.Value = new System.Decimal(new int[] {
                                                                             20,
                                                                             0,
                                                                             0,
                                                                             0});
            // 
            // lstDockPanel
            // 
            this.lstDockPanel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.lstDockPanel.Location = new System.Drawing.Point(156, 100);
            this.lstDockPanel.Name = "lstDockPanel";
            this.lstDockPanel.Size = new System.Drawing.Size(92, 21);
            this.lstDockPanel.TabIndex = 8;
            // 
            // Label3
            // 
            this.Label3.Location = new System.Drawing.Point(16, 104);
            this.Label3.Name = "Label3";
            this.Label3.Size = new System.Drawing.Size(136, 20);
            this.Label3.TabIndex = 6;
            this.Label3.Text = "Dock Panel To:";
            // 
            // Label4
            // 
            this.Label4.Location = new System.Drawing.Point(16, 128);
            this.Label4.Name = "Label4";
            this.Label4.Size = new System.Drawing.Size(136, 20);
            this.Label4.TabIndex = 7;
            this.Label4.Text = "Dock TextBox To:";
            // 
            // lstDockTextBox
            // 
            this.lstDockTextBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
            this.lstDockTextBox.Location = new System.Drawing.Point(156, 124);
            this.lstDockTextBox.Name = "lstDockTextBox";
            this.lstDockTextBox.Size = new System.Drawing.Size(92, 21);
            this.lstDockTextBox.TabIndex = 9;
            // 
            // Label2
            // 
            this.Label2.Location = new System.Drawing.Point(16, 60);
            this.Label2.Name = "Label2";
            this.Label2.Size = new System.Drawing.Size(136, 20);
            this.Label2.TabIndex = 3;
            this.Label2.Text = "Set Panel&#039;s DockPadding:";
            // 
            // Label1
            // 
            this.Label1.Location = new System.Drawing.Point(16, 36);
            this.Label1.Name = "Label1";
            this.Label1.Size = new System.Drawing.Size(136, 20);
            this.Label1.TabIndex = 2;
            this.Label1.Text = "Set Form&#039;s DockPadding:";
            // 
            // pnlDock
            // 
            this.pnlDock.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                                  this.txtDock});
            this.pnlDock.Dock = System.Windows.Forms.DockStyle.Left;
            this.pnlDock.DockPadding.All = 20;
            this.pnlDock.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.pnlDock.Name = "pnlDock";
            this.pnlDock.Size = new System.Drawing.Size(224, 314);
            this.pnlDock.TabIndex = 11;
            // 
            // txtDock
            // 
            this.txtDock.Dock = System.Windows.Forms.DockStyle.Left;
            this.txtDock.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.txtDock.Location = new System.Drawing.Point(20, 20);
            this.txtDock.Multiline = true;
            this.txtDock.Name = "txtDock";
            this.txtDock.Size = new System.Drawing.Size(108, 274);
            this.txtDock.TabIndex = 0;
            this.txtDock.Text = "I&#039;m docked to the edge of this Panel.

The Panel is docked to the edge of the f" +
                "orm.

The Panel&#039;s DockPadding gives the necessary room to breathe.";
            // 
            // Docking
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);
            this.ClientSize = new System.Drawing.Size(496, 314);
            this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                          this.GroupBox1,
                                                                          this.pnlDock});
            this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
            this.Name = "Docking";
            this.Text = "Docking At Work";
            this.Load += new System.EventHandler(this.Docking_Load);
            this.GroupBox1.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)(this.udDockPaddingForm)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.udDockPaddingPanel)).EndInit();
            this.pnlDock.ResumeLayout(false);
            this.ResumeLayout(false);

        }
        #endregion

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        [STAThread]
        static void Main() 
        {
            Application.Run(new Docking());
        }

        private void Docking_Load(object sender, System.EventArgs e)
        {
            lstDockPanel.Items.AddRange(Enum.GetNames(Dock.GetType()));
            lstDockTextBox.Items.AddRange(Enum.GetNames(Dock.GetType()));
        }

        private void cmdUpdate_Click(object sender, System.EventArgs e)
        {
            this.DockPadding.All = (int)udDockPaddingForm.Value;
            pnlDock.DockPadding.All = (int)udDockPaddingPanel.Value;
            
            // Now we use some rather unusual code to translate the string
            //  in the listbox into an enumeration object that can be used
            //  to set the Dock property.
            // This looks quite strange, but is actually just one more
            //  part of the shared class library.
            
            // First we get the converter that can do the job.
            TypeConverter converter;
            converter = TypeDescriptor.GetConverter(Dock.GetType());
            
            // Then we use it to convert the string.
            pnlDock.Dock = (DockStyle)converter.ConvertFromString(lstDockPanel.Text);
            txtDock.Dock = (DockStyle)converter.ConvertFromString(lstDockTextBox.Text);
        }
    }
}



           
          


Set DateTimePicker Min Date and Max Date


   


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form
{
    private System.Windows.Forms.DateTimePicker dateTimePickerDropOff;
    private System.Windows.Forms.Label outputLabel;
    private System.Windows.Forms.Label deliveryLabel;
    private System.Windows.Forms.Label dropOffLabel;
    public Form1() {
        InitializeComponent();
        dateTimePickerDropOff.MinDate = DateTime.Today;
        dateTimePickerDropOff.MaxDate = DateTime.Today.AddYears( 1 );
  }

   private void dateTimePickerDropOff_ValueChanged( object sender, EventArgs e )
   {
      DateTime dropOffDate = dateTimePickerDropOff.Value;

      if ( dropOffDate.DayOfWeek == DayOfWeek.Friday ||
         dropOffDate.DayOfWeek == DayOfWeek.Saturday ||
         dropOffDate.DayOfWeek == DayOfWeek.Sunday )

         outputLabel.Text = dropOffDate.AddDays( 3 ).ToLongDateString();
      else
         outputLabel.Text = dropOffDate.AddDays( 2 ).ToLongDateString();
   }

   private void InitializeComponent()
   {
      this.dateTimePickerDropOff = new System.Windows.Forms.DateTimePicker();
      this.outputLabel = new System.Windows.Forms.Label();
      this.deliveryLabel = new System.Windows.Forms.Label();
      this.dropOffLabel = new System.Windows.Forms.Label();
      this.SuspendLayout();
      // 
      // dateTimePickerDropOff
      // 
      this.dateTimePickerDropOff.Location = new System.Drawing.Point(31, 39);
      this.dateTimePickerDropOff.Name = "dateTimePickerDropOff";
      this.dateTimePickerDropOff.Size = new System.Drawing.Size(200, 20);
      this.dateTimePickerDropOff.TabIndex = 0;
      this.dateTimePickerDropOff.ValueChanged += new System.EventHandler(this.dateTimePickerDropOff_ValueChanged);
      // 
      // outputLabel
      // 
      this.outputLabel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
      this.outputLabel.Location = new System.Drawing.Point(31, 108);
      this.outputLabel.Name = "outputLabel";
      this.outputLabel.Size = new System.Drawing.Size(200, 23);
      this.outputLabel.TabIndex = 1;
      // 
      // deliveryLabel
      // 
      this.deliveryLabel.AutoSize = true;
      this.deliveryLabel.Location = new System.Drawing.Point(30, 95);
      this.deliveryLabel.Name = "deliveryLabel";
      this.deliveryLabel.Size = new System.Drawing.Size(119, 13);
      this.deliveryLabel.TabIndex = 2;
      // 
      // dropOffLabel
      // 
      this.dropOffLabel.AutoSize = true;
      this.dropOffLabel.Location = new System.Drawing.Point(30, 23);
      this.dropOffLabel.Name = "dropOffLabel";
      this.dropOffLabel.Size = new System.Drawing.Size(72, 13);
      this.dropOffLabel.TabIndex = 3;
      this.dropOffLabel.Text = "Drop Off Date:";
      // 
      // DateTimePickerForm
      // 
      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
      this.ClientSize = new System.Drawing.Size(262, 235);
      this.Controls.Add(this.dropOffLabel);
      this.Controls.Add(this.deliveryLabel);
      this.Controls.Add(this.outputLabel);
      this.Controls.Add(this.dateTimePickerDropOff);
      this.Name = "DateTimePickerForm";
      this.Text = "DateTimePickerTest";
      this.ResumeLayout(false);
      this.PerformLayout();
 
    }
   [STAThread]
   static void Main()
  {
    Application.EnableVisualStyles();
    Application.Run(new Form1());
  }

}


           
          


DateTimePicker Value changed event (Selected event)


   


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form
{
    private System.Windows.Forms.DateTimePicker dateTimePickerDropOff;
    private System.Windows.Forms.Label outputLabel;
    private System.Windows.Forms.Label deliveryLabel;
    private System.Windows.Forms.Label dropOffLabel;
    public Form1() {
        InitializeComponent();
        dateTimePickerDropOff.MinDate = DateTime.Today;
        dateTimePickerDropOff.MaxDate = DateTime.Today.AddYears( 1 );
  }

   private void dateTimePickerDropOff_ValueChanged( object sender, EventArgs e )
   {
      DateTime dropOffDate = dateTimePickerDropOff.Value;

      if ( dropOffDate.DayOfWeek == DayOfWeek.Friday ||
         dropOffDate.DayOfWeek == DayOfWeek.Saturday ||
         dropOffDate.DayOfWeek == DayOfWeek.Sunday )

         outputLabel.Text = dropOffDate.AddDays( 3 ).ToLongDateString();
      else
         outputLabel.Text = dropOffDate.AddDays( 2 ).ToLongDateString();
   }

   private void InitializeComponent()
   {
      this.dateTimePickerDropOff = new System.Windows.Forms.DateTimePicker();
      this.outputLabel = new System.Windows.Forms.Label();
      this.deliveryLabel = new System.Windows.Forms.Label();
      this.dropOffLabel = new System.Windows.Forms.Label();
      this.SuspendLayout();
      // 
      // dateTimePickerDropOff
      // 
      this.dateTimePickerDropOff.Location = new System.Drawing.Point(31, 39);
      this.dateTimePickerDropOff.Name = "dateTimePickerDropOff";
      this.dateTimePickerDropOff.Size = new System.Drawing.Size(200, 20);
      this.dateTimePickerDropOff.TabIndex = 0;
      this.dateTimePickerDropOff.ValueChanged += new System.EventHandler(this.dateTimePickerDropOff_ValueChanged);
      // 
      // outputLabel
      // 
      this.outputLabel.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
      this.outputLabel.Location = new System.Drawing.Point(31, 108);
      this.outputLabel.Name = "outputLabel";
      this.outputLabel.Size = new System.Drawing.Size(200, 23);
      this.outputLabel.TabIndex = 1;
      // 
      // deliveryLabel
      // 
      this.deliveryLabel.AutoSize = true;
      this.deliveryLabel.Location = new System.Drawing.Point(30, 95);
      this.deliveryLabel.Name = "deliveryLabel";
      this.deliveryLabel.Size = new System.Drawing.Size(119, 13);
      this.deliveryLabel.TabIndex = 2;
      // 
      // dropOffLabel
      // 
      this.dropOffLabel.AutoSize = true;
      this.dropOffLabel.Location = new System.Drawing.Point(30, 23);
      this.dropOffLabel.Name = "dropOffLabel";
      this.dropOffLabel.Size = new System.Drawing.Size(72, 13);
      this.dropOffLabel.TabIndex = 3;
      this.dropOffLabel.Text = "Drop Off Date:";
      // 
      // DateTimePickerForm
      // 
      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
      this.ClientSize = new System.Drawing.Size(262, 235);
      this.Controls.Add(this.dropOffLabel);
      this.Controls.Add(this.deliveryLabel);
      this.Controls.Add(this.outputLabel);
      this.Controls.Add(this.dateTimePickerDropOff);
      this.Name = "DateTimePickerForm";
      this.Text = "DateTimePickerTest";
      this.ResumeLayout(false);
      this.PerformLayout();
 
    }
   [STAThread]
   static void Main()
  {
    Application.EnableVisualStyles();
    Application.Run(new Form1());
  }

}


           
          


DateTimePicker Format: Short, Time, default and Custom Format


   


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form
{
  private System.Windows.Forms.DateTimePicker dateTimePicker1;
  private System.Windows.Forms.Label label1;
  private System.Windows.Forms.Label label2;
  private System.Windows.Forms.Label label3;
  private System.Windows.Forms.Label label4;
  private System.Windows.Forms.DateTimePicker dateTimePicker2;
  private System.Windows.Forms.DateTimePicker dateTimePicker3;
  private System.Windows.Forms.DateTimePicker dateTimePicker4;

  public Form1() {
        InitializeComponent();
  }

  private void InitializeComponent()
  {
    this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker();
    this.label1 = new System.Windows.Forms.Label();
    this.label2 = new System.Windows.Forms.Label();
    this.label3 = new System.Windows.Forms.Label();
    this.label4 = new System.Windows.Forms.Label();
    this.dateTimePicker2 = new System.Windows.Forms.DateTimePicker();
    this.dateTimePicker3 = new System.Windows.Forms.DateTimePicker();
    this.dateTimePicker4 = new System.Windows.Forms.DateTimePicker();
    this.SuspendLayout();
    // 
    // dateTimePicker1
    // 
    this.dateTimePicker1.Location = new System.Drawing.Point(92, 15);
    this.dateTimePicker1.Name = "dateTimePicker1";
    this.dateTimePicker1.Size = new System.Drawing.Size(200, 21);
    this.dateTimePicker1.TabIndex = 0;
    // 
    // label1
    // 
    this.label1.AutoSize = true;
    this.label1.Location = new System.Drawing.Point(12, 19);
    this.label1.Name = "label1";
    this.label1.Size = new System.Drawing.Size(30, 13);
    this.label1.TabIndex = 2;
    this.label1.Text = "Long:";
    // 
    // label2
    // 
    this.label2.AutoSize = true;
    this.label2.Location = new System.Drawing.Point(12, 54);
    this.label2.Name = "label2";
    this.label2.Size = new System.Drawing.Size(33, 13);
    this.label2.TabIndex = 3;
    this.label2.Text = "Short:";
    // 
    // label3
    // 
    this.label3.AutoSize = true;
    this.label3.Location = new System.Drawing.Point(12, 92);
    this.label3.Name = "label3";
    this.label3.Size = new System.Drawing.Size(29, 13);
    this.label3.TabIndex = 4;
    this.label3.Text = "Time:";
    // 
    // label4
    // 
    this.label4.AutoSize = true;
    this.label4.Location = new System.Drawing.Point(12, 128);
    this.label4.Name = "label4";
    this.label4.Size = new System.Drawing.Size(64, 13);
    this.label4.TabIndex = 5;
    this.label4.Text = "Custom ISO:";
    // 
    // dateTimePicker2
    // 
    this.dateTimePicker2.Format = System.Windows.Forms.DateTimePickerFormat.Short;
    this.dateTimePicker2.Location = new System.Drawing.Point(92, 50);
    this.dateTimePicker2.Name = "dateTimePicker2";
    this.dateTimePicker2.Size = new System.Drawing.Size(200, 21);
    this.dateTimePicker2.TabIndex = 6;
    // 
    // dateTimePicker3
    // 
    this.dateTimePicker3.Format = System.Windows.Forms.DateTimePickerFormat.Time;
    this.dateTimePicker3.Location = new System.Drawing.Point(92, 88);
    this.dateTimePicker3.Name = "dateTimePicker3";
    this.dateTimePicker3.Size = new System.Drawing.Size(200, 21);
    this.dateTimePicker3.TabIndex = 7;
    // 
    // dateTimePicker4
    // 
    this.dateTimePicker4.CustomFormat = "yyyy-mm-dd";
    this.dateTimePicker4.Format = System.Windows.Forms.DateTimePickerFormat.Custom;
    this.dateTimePicker4.Location = new System.Drawing.Point(92, 124);
    this.dateTimePicker4.Name = "dateTimePicker4";
    this.dateTimePicker4.Size = new System.Drawing.Size(200, 21);
    this.dateTimePicker4.TabIndex = 8;
    // 
    // Form1
    // 
    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    this.ClientSize = new System.Drawing.Size(348, 192);
    this.Controls.Add(this.dateTimePicker4);
    this.Controls.Add(this.dateTimePicker3);
    this.Controls.Add(this.dateTimePicker2);
    this.Controls.Add(this.label4);
    this.Controls.Add(this.label3);
    this.Controls.Add(this.label2);
    this.Controls.Add(this.label1);
    this.Controls.Add(this.dateTimePicker1);
    this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    this.Name = "Form1";
    this.Text = "Date Controls";
    this.ResumeLayout(false);
    this.PerformLayout();

  }

  [STAThread]
  static void Main()
  {
    Application.EnableVisualStyles();
    Application.Run(new Form1());
  }

}


           
          


A dialog by user defined property

   
 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

class MainClass {
    public static void Main() {
        Phone frm = new Phone();
        while (true) {
            frm.ShowDialog();
            if (frm.DialogResult == DialogResult.OK) {
                Console.WriteLine(frm.PhoneNumber);
                if (frm.PhoneNumber.Length == 8 | frm.PhoneNumber.Length == 12) {
                    break;
                } else {
                    MessageBox.Show("Phone number was not formatted correctly. Please correct entry.");
                }
            } else if (frm.DialogResult == DialogResult.Cancel) {
                Console.WriteLine("Form was canceled.");
                break;
            }
        }
        frm.Close();
    }
}
class Phone : Form {
    private System.Windows.Forms.TextBox textBox1  = new System.Windows.Forms.TextBox();
    private System.Windows.Forms.Label label1 = new System.Windows.Forms.Label() ;
    private System.Windows.Forms.Button btnOK = new System.Windows.Forms.Button();
    private System.Windows.Forms.Button btnCancel = new System.Windows.Forms.Button();

    public Phone() {
        this.SuspendLayout();

        this.textBox1.Location = new System.Drawing.Point(122, 21);
        this.textBox1.Margin = new System.Windows.Forms.Padding(1, 3, 3, 3);
        this.textBox1.Size = new System.Drawing.Size(115, 20);

        this.label1.AutoSize = true;
        this.label1.Location = new System.Drawing.Point(10, 26);
        this.label1.Margin = new System.Windows.Forms.Padding(3, 3, 1, 3);
        this.label1.Size = new System.Drawing.Size(110, 14);
        this.label1.Text = "Enter phone number:";
        this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;

        this.btnOK.DialogResult = System.Windows.Forms.DialogResult.OK;
        this.btnOK.Location = new System.Drawing.Point(36, 65);
        this.btnOK.Text = "OK";

        this.btnCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
        this.btnCancel.Location = new System.Drawing.Point(132, 65);
        this.btnCancel.Text = "Cancel";
        this.ClientSize = new System.Drawing.Size(270, 107);
        this.Controls.Add(this.btnCancel);
        this.Controls.Add(this.btnOK);
        this.Controls.Add(this.label1);
        this.Controls.Add(this.textBox1);
        this.ResumeLayout(false);
        this.PerformLayout();
        btnOK.DialogResult = DialogResult.OK;
        btnCancel.DialogResult = DialogResult.Cancel;
    }
    public string PhoneNumber {
        get { return textBox1.Text; }
        set { textBox1.Text = value; }
    }
}

    


Color Fill dialog

using System;
using System.Drawing;
using System.Windows.Forms;

class ColorFillDialogBox: Form
{
GroupBox grpbox = new GroupBox();
CheckBox chkbox = new CheckBox();

public ColorFillDialogBox()
{
string[] astrColor = { “Black”, “Blue”, “Green”, “Cyan”,
“Red”, “Magenta”, “Yellow”, “White”};

grpbox.Parent = this;
grpbox.Text = “Color”;
grpbox.Location = new Point(8, 8);
grpbox.Size = new Size(96, 12 * (astrColor.Length + 1));

for (int i = 0; i < astrColor.Length; i++) { RadioButton radiobtn = new RadioButton(); radiobtn.Parent = grpbox; radiobtn.Text = astrColor[i]; radiobtn.Location = new Point(8, 12 * (i + 1)); radiobtn.Size = new Size(80, 10); } chkbox.Parent = this; chkbox.Text = "Fill Ellipse"; chkbox.Location = new Point(8, grpbox.Bottom + 4); chkbox.Size = new Size(80, 10); Button btn = new Button(); btn.Parent = this; btn.Text = "OK"; btn.Location = new Point(8, chkbox.Bottom + 4); btn.Size = new Size(40, 16); btn.DialogResult = DialogResult.OK; AcceptButton = btn; btn = new Button(); btn.Parent = this; btn.Text = "Cancel"; btn.Location = new Point(64, chkbox.Bottom + 4); btn.Size = new Size(40, 16); btn.DialogResult = DialogResult.Cancel; CancelButton = btn; ClientSize = new Size(112, btn.Bottom + 8); AutoScaleBaseSize = new Size(4, 8); } public Color Color { get { for (int i = 0; i < grpbox.Controls.Count; i++) { RadioButton radiobtn = (RadioButton) grpbox.Controls[i]; if (radiobtn.Checked) return Color.FromName(radiobtn.Text); } return Color.Black; } set { for (int i = 0; i < grpbox.Controls.Count; i++) { RadioButton radiobtn = (RadioButton) grpbox.Controls[i]; if (value == Color.FromName(radiobtn.Text)) { radiobtn.Checked = true; break; } } } } public bool Fill { get { return chkbox.Checked; } set { chkbox.Checked = value; } } } class DrawOrFillEllipse: Form { Color colorEllipse = Color.Red; bool bFillEllipse = false; public static void Main() { Application.Run(new DrawOrFillEllipse()); } public DrawOrFillEllipse() { ResizeRedraw = true; Menu = new MainMenu(); Menu.MenuItems.Add("&Options"); Menu.MenuItems[0].MenuItems.Add("&Color...", new EventHandler(MenuColorOnClick)); } void MenuColorOnClick(object obj, EventArgs ea) { ColorFillDialogBox dlg = new ColorFillDialogBox(); dlg.Color = colorEllipse; dlg.Fill = bFillEllipse; if (dlg.ShowDialog() == DialogResult.OK) { colorEllipse = dlg.Color; bFillEllipse = dlg.Fill; Invalidate(); } } protected override void OnPaint(PaintEventArgs pea) { Graphics grfx = pea.Graphics; Rectangle rect = new Rectangle(0, 0, 50, 50); if(bFillEllipse) grfx.FillEllipse(new SolidBrush(colorEllipse), rect); else grfx.DrawEllipse(new Pen(colorEllipse), rect); } } [/csharp]

Color Scroll Dialog Box

using System;
using System.Drawing;
using System.Windows.Forms;

class ColorScrollDialogBox: Form
{
Label[] alabelName = new Label[3];
Label[] alabelValue = new Label[3];
VScrollBar[] avscroll = new VScrollBar[3];

public event EventHandler Changed;

public ColorScrollDialogBox()
{
Color[] acolor = { Color.Red, Color.Green, Color.Blue };

for (int i = 0; i < 3; i++) { alabelName[i] = new Label(); alabelName[i].Parent = this; alabelName[i].ForeColor = acolor[i]; alabelName[i].Text = "&" + acolor[i].ToKnownColor(); alabelName[i].TextAlign = ContentAlignment.MiddleCenter; avscroll[i] = new VScrollBar(); avscroll[i].Parent = this; 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(ScrollOnValueChanged); avscroll[i].TabStop = true; alabelValue[i] = new Label(); alabelValue[i].Parent = this; alabelValue[i].TextAlign = ContentAlignment.MiddleCenter; } OnResize(EventArgs.Empty); } public Color Color { get { return Color.FromArgb(avscroll[0].Value, avscroll[1].Value, avscroll[2].Value); } set { avscroll[0].Value = value.R; avscroll[1].Value = value.G; avscroll[2].Value = value.B; } } protected override void OnResize(EventArgs ea) { base.OnResize(ea); int cx = ClientSize.Width; int cy = ClientSize.Height; int cyFont = Font.Height; for (int i = 0; i < 3; i++) { alabelName[i].Location = new Point(i * cx / 3, cyFont / 2); alabelName[i].Size = new Size(cx / 3, cyFont); avscroll[i].Location = new Point((4 * i + 1) * cx / 12,2 * cyFont); avscroll[i].Size = new Size(cx / 6, cy - 4 * cyFont); alabelValue[i].Location = new Point(i * cx / 3,cy - 3 * cyFont / 2); alabelValue[i].Size = new Size(cx / 3, cyFont); } } void ScrollOnValueChanged(Object obj, EventArgs ea) { for (int i = 0; i < 3; i++) if((VScrollBar) obj == avscroll[i]) alabelValue[i].Text = avscroll[i].Value.ToString(); if (Changed != null) Changed(this, new EventArgs()); } } class ModelessColorScroll: Form { public static void Main() { Application.Run(new ModelessColorScroll()); } public ModelessColorScroll() { ColorScrollDialogBox dlg = new ColorScrollDialogBox(); dlg.Owner = this; dlg.Color = BackColor; dlg.Changed += new EventHandler(ColorScrollOnChanged); dlg.Show(); } void ColorScrollOnChanged(object obj, EventArgs ea) { ColorScrollDialogBox dlg = (ColorScrollDialogBox) obj; BackColor = dlg.Color; } } [/csharp]