Split Container(Panel): Collapsed


   

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.SplitContainer splitContainer1;
  private System.Windows.Forms.SplitContainer splitContainer2;
  private System.Windows.Forms.WebBrowser webBrowser1;
  private System.Windows.Forms.TextBox TextBox1;
  private System.Windows.Forms.Panel pnlFileList;
  private System.Windows.Forms.Button cmdHide;
  private System.Windows.Forms.ListView ListView1;
  private System.Windows.Forms.ColumnHeader ColumnHeader1;
  private System.Windows.Forms.Panel pnlShow;
  private System.Windows.Forms.Button cmdShow;
  public Form1() {
        InitializeComponent();
        ListView1.Items.Add("A");
        ListView1.Items.Add("B");
        ListView1.Items.Add("C");
  }
  private void cmdHide_Click(object sender, EventArgs e)
  {
    splitContainer1.Panel1Collapsed = true;
    pnlShow.Visible = true;

  }

  private void cmdShow_Click(object sender, EventArgs e)
  {
    splitContainer1.Panel1Collapsed = false;
    pnlShow.Visible = false;
    

  }

  private void InitializeComponent()
  {
        this.splitContainer1 = new System.Windows.Forms.SplitContainer();
        this.pnlFileList = new System.Windows.Forms.Panel();
        this.cmdHide = new System.Windows.Forms.Button();
        this.ListView1 = new System.Windows.Forms.ListView();
        this.ColumnHeader1 = new System.Windows.Forms.ColumnHeader();
        this.splitContainer2 = new System.Windows.Forms.SplitContainer();
        this.webBrowser1 = new System.Windows.Forms.WebBrowser();
        this.TextBox1 = new System.Windows.Forms.TextBox();
        this.pnlShow = new System.Windows.Forms.Panel();
        this.cmdShow = new System.Windows.Forms.Button();
        this.splitContainer1.Panel1.SuspendLayout();
        this.splitContainer1.Panel2.SuspendLayout();
        this.splitContainer1.SuspendLayout();
        this.pnlFileList.SuspendLayout();
        this.splitContainer2.Panel1.SuspendLayout();
        this.splitContainer2.Panel2.SuspendLayout();
        this.splitContainer2.SuspendLayout();
        this.pnlShow.SuspendLayout();
        this.SuspendLayout();
        // 
        // splitContainer1
        // 
        this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
        this.splitContainer1.Location = new System.Drawing.Point(29, 10);
        this.splitContainer1.Name = "splitContainer1";
        // 
        // splitContainer1.Panel1
        // 
        this.splitContainer1.Panel1.Controls.Add(this.pnlFileList);
        this.splitContainer1.Panel1MinSize = 50;
        // 
        // splitContainer1.Panel2
        // 
        this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
        this.splitContainer1.Size = new System.Drawing.Size(477, 366);
        this.splitContainer1.SplitterDistance = 155;
        this.splitContainer1.TabIndex = 0;
        this.splitContainer1.Text = "splitContainer1";
        // 
        // pnlFileList
        // 
        this.pnlFileList.Controls.Add(this.cmdHide);
        this.pnlFileList.Controls.Add(this.ListView1);
        this.pnlFileList.Dock = System.Windows.Forms.DockStyle.Fill;
        this.pnlFileList.Location = new System.Drawing.Point(0, 0);
        this.pnlFileList.Name = "pnlFileList";
        this.pnlFileList.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0);
        this.pnlFileList.Size = new System.Drawing.Size(155, 366);
        this.pnlFileList.TabIndex = 21;
        // 
        // cmdHide
        // 
        this.cmdHide.Dock = System.Windows.Forms.DockStyle.Bottom;
        this.cmdHide.FlatStyle = System.Windows.Forms.FlatStyle.System;
        this.cmdHide.Location = new System.Drawing.Point(0, 346);
        this.cmdHide.Name = "cmdHide";
        this.cmdHide.Size = new System.Drawing.Size(154, 20);
        this.cmdHide.TabIndex = 23;
        this.cmdHide.Text = "<< Hide";
        this.cmdHide.Click += new System.EventHandler(this.cmdHide_Click);
        // 
        // ListView1
        // 
        this.ListView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                    | System.Windows.Forms.AnchorStyles.Left)
                    | System.Windows.Forms.AnchorStyles.Right)));
        this.ListView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader&#91;&#93; {
        this.ColumnHeader1});
        this.ListView1.Location = new System.Drawing.Point(0, 3);
        this.ListView1.Name = "ListView1";
        this.ListView1.Size = new System.Drawing.Size(152, 337);
        this.ListView1.TabIndex = 22;
        this.ListView1.UseCompatibleStateImageBehavior = false;
        this.ListView1.View = System.Windows.Forms.View.Details;
        // 
        // ColumnHeader1
        // 
        this.ColumnHeader1.Name = "ColumnHeader1";
        this.ColumnHeader1.Text = "File";
        this.ColumnHeader1.Width = 99;
        // 
        // splitContainer2
        // 
        this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
        this.splitContainer2.Location = new System.Drawing.Point(0, 0);
        this.splitContainer2.Name = "splitContainer2";
        this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
        // 
        // splitContainer2.Panel1
        // 
        this.splitContainer2.Panel1.Controls.Add(this.webBrowser1);
        // 
        // splitContainer2.Panel2
        // 
        this.splitContainer2.Panel2.Controls.Add(this.TextBox1);
        this.splitContainer2.Size = new System.Drawing.Size(318, 366);
        this.splitContainer2.SplitterDistance = 173;
        this.splitContainer2.TabIndex = 0;
        this.splitContainer2.Text = "splitContainer2";
        // 
        // webBrowser1
        // 
        this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill;
        this.webBrowser1.Location = new System.Drawing.Point(0, 0);
        this.webBrowser1.Name = "webBrowser1";
        this.webBrowser1.Size = new System.Drawing.Size(318, 173);
        this.webBrowser1.TabIndex = 0;
        // 
        // TextBox1
        // 
        this.TextBox1.Dock = System.Windows.Forms.DockStyle.Fill;
        this.TextBox1.Location = new System.Drawing.Point(0, 0);
        this.TextBox1.Multiline = true;
        this.TextBox1.Name = "TextBox1";
        this.TextBox1.ReadOnly = true;
        this.TextBox1.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
        this.TextBox1.Size = new System.Drawing.Size(318, 189);
        this.TextBox1.TabIndex = 1;
        // 
        // pnlShow
        // 
        this.pnlShow.Controls.Add(this.cmdShow);
        this.pnlShow.Dock = System.Windows.Forms.DockStyle.Left;
        this.pnlShow.Location = new System.Drawing.Point(10, 10);
        this.pnlShow.Name = "pnlShow";
        this.pnlShow.Padding = new System.Windows.Forms.Padding(0, 0, 3, 0);
        this.pnlShow.Size = new System.Drawing.Size(19, 366);
        this.pnlShow.TabIndex = 23;
        this.pnlShow.Visible = false;
        // 
        // cmdShow
        // 
        this.cmdShow.Dock = System.Windows.Forms.DockStyle.Fill;
        this.cmdShow.FlatStyle = System.Windows.Forms.FlatStyle.System;
        this.cmdShow.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
        this.cmdShow.Location = new System.Drawing.Point(0, 0);
        this.cmdShow.Name = "cmdShow";
        this.cmdShow.Size = new System.Drawing.Size(16, 366);
        this.cmdShow.TabIndex = 21;
        this.cmdShow.Text = ">";
        this.cmdShow.Click += new System.EventHandler(this.cmdShow_Click);
        // 
        // Form1
        // 
        this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(516, 386);
        this.Controls.Add(this.splitContainer1);
        this.Controls.Add(this.pnlShow);
        this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
        this.Name = "Form1";
        this.Padding = new System.Windows.Forms.Padding(10);
        this.Text = "Split Window";
        this.splitContainer1.Panel1.ResumeLayout(false);
        this.splitContainer1.Panel2.ResumeLayout(false);
        this.splitContainer1.ResumeLayout(false);
        this.pnlFileList.ResumeLayout(false);
        this.splitContainer2.Panel1.ResumeLayout(false);
        this.splitContainer2.Panel2.ResumeLayout(false);
        this.splitContainer2.Panel2.PerformLayout();
        this.splitContainer2.ResumeLayout(false);
        this.pnlShow.ResumeLayout(false);
        this.ResumeLayout(false);

  }

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

}



           
          


Panel and form dock pad


   

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.GroupBox GroupBox1;
  private System.Windows.Forms.Button cmdUpdate;
  private System.Windows.Forms.NumericUpDown udDockPaddingForm;
  private System.Windows.Forms.NumericUpDown udDockPaddingPanel;
  private System.Windows.Forms.ComboBox lstDockPanel;
  private System.Windows.Forms.Label Label3;
  private System.Windows.Forms.Label Label4;
  private System.Windows.Forms.ComboBox lstDockTextBox;
  private System.Windows.Forms.Label Label2;
  private System.Windows.Forms.Label Label1;
  private System.Windows.Forms.Panel pnlDock;
  private System.Windows.Forms.TextBox txtDock;

  public Form1() {
        InitializeComponent();
        lstDockPanel.Items.AddRange(Enum.GetNames(Dock.GetType()));
      lstDockTextBox.Items.AddRange(Enum.GetNames(Dock.GetType()));

      lstDockPanel.Text = Enum.GetName(Dock.GetType(), pnlDock.Dock);
      lstDockTextBox.Text = Enum.GetName(Dock.GetType(), lstDockTextBox.Dock);

  }
  private void cmdUpdate_Click(object sender, EventArgs e)
  {
    this.DockPadding.All = (int)udDockPaddingForm.Value;
    pnlDock.DockPadding.All = (int)udDockPaddingPanel.Value;

    TypeConverter converter;
    converter = TypeDescriptor.GetConverter(Dock.GetType());

    pnlDock.Dock = (DockStyle)converter.ConvertFromString(lstDockPanel.Text);
    txtDock.Dock = (DockStyle)converter.ConvertFromString(lstDockTextBox.Text);

  }

  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.Add(this.cmdUpdate);
    this.GroupBox1.Controls.Add(this.udDockPaddingForm);
    this.GroupBox1.Controls.Add(this.udDockPaddingPanel);
    this.GroupBox1.Controls.Add(this.lstDockPanel);
    this.GroupBox1.Controls.Add(this.Label3);
    this.GroupBox1.Controls.Add(this.Label4);
    this.GroupBox1.Controls.Add(this.lstDockTextBox);
    this.GroupBox1.Controls.Add(this.Label2);
    this.GroupBox1.Controls.Add(this.Label1);
    this.GroupBox1.Location = new System.Drawing.Point(202, 20);
    this.GroupBox1.Name = "GroupBox1";
    this.GroupBox1.Size = new System.Drawing.Size(284, 224);
    this.GroupBox1.TabIndex = 14;
    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 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 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 decimal(new int[] {
        20,
        0,
        0,
        0});
    // 
    // lstDockPanel
    // 
    this.lstDockPanel.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
    this.lstDockPanel.FormattingEnabled = true;
    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.FormattingEnabled = true;
    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 = "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 = "Form&#039;s DockPadding:";
    // 
    // pnlDock
    // 
    this.pnlDock.Controls.Add(this.txtDock);
    this.pnlDock.Dock = System.Windows.Forms.DockStyle.Left;
    this.pnlDock.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    this.pnlDock.Location = new System.Drawing.Point(0, 0);
    this.pnlDock.Name = "pnlDock";
    this.pnlDock.Padding = new System.Windows.Forms.Padding(20);
    this.pnlDock.Size = new System.Drawing.Size(224, 314);
    this.pnlDock.TabIndex = 13;
    // 
    // 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, ((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 = "This is a TextBox.";
    // 
    // Form1
    // 
    this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
    this.ClientSize = new System.Drawing.Size(497, 314);
    this.Controls.Add(this.GroupBox1);
    this.Controls.Add(this.pnlDock);
    this.Text = "Docking At Work";
    this.GroupBox1.ResumeLayout(false);
    ((System.ComponentModel.ISupportInitialize)(this.udDockPaddingForm)).EndInit();
    ((System.ComponentModel.ISupportInitialize)(this.udDockPaddingPanel)).EndInit();
    this.pnlDock.ResumeLayout(false);
    this.pnlDock.PerformLayout();
    this.ResumeLayout(false);
  }


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

}



           
          


Subclass Panel

   
 

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

public class ScrollingText : System.Windows.Forms.Panel {
    Font textFont = new Font("Times New Roman", 24);

    public ScrollingText() {
        InitializeComponent();
    }

    private void ScrollingText_Paint(object sender, PaintEventArgs e) {
        Graphics g = e.Graphics;
        g.TranslateTransform(this.AutoScrollPosition.X, this.AutoScrollPosition.Y);
        g.DrawString("Hello, World", textFont, Brushes.Black, 40, 40);
        g.DrawString("Hello, World", textFont, Brushes.Red, 40, 240);
        g.DrawString("Hello, World", textFont, Brushes.Blue, 350, 40);
        g.DrawString("Hello, World", textFont, Brushes.Green, 350, 240);
    }
    private void InitializeComponent() {
        this.SuspendLayout();
        this.AutoScroll = true;
        this.AutoScrollMinSize = new System.Drawing.Size(600, 400);
        this.BackColor = System.Drawing.SystemColors.Window;
        this.Paint += new System.Windows.Forms.PaintEventHandler(this.ScrollingText_Paint);
        this.ResumeLayout(false);
    }
}
public class Form1 : Form {
    public Form1() {
        InitializeComponent();
    }
    private void InitializeComponent() {
        this.scrollingText1 = new ScrollingText();
        this.SuspendLayout();
        this.scrollingText1.AutoScroll = true;
        this.scrollingText1.AutoScrollMinSize = new System.Drawing.Size(600, 400);
        this.scrollingText1.BackColor = System.Drawing.SystemColors.Window;
        this.scrollingText1.Location = new System.Drawing.Point(13, 13);
        this.scrollingText1.Size = new System.Drawing.Size(267, 243);
        this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.ClientSize = new System.Drawing.Size(292, 268);
        this.Controls.Add(this.scrollingText1);
        this.ResumeLayout(false);
    }
    private ScrollingText scrollingText1;
    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.Run(new Form1());
    }
}

    


Control Paint Form


   

/*
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;


namespace GDI_Basics
{
    /// <summary>
    /// Summary description for ControlPaint.
    /// </summary>
    public class ControlPaintForm : System.Windows.Forms.Form
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.Container components = null;

        public ControlPaintForm()
        {
            //
            // 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()
        {
            // 
            // ControlPaint
            // 
            this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
            this.ClientSize = new System.Drawing.Size(292, 266);
            this.Name = "ControlPaint";
            this.Text = "ControlPaint";
            this.Paint += new System.Windows.Forms.PaintEventHandler(this.ControlPaint_Paint);

        }
        #endregion

        private void ControlPaint_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
        {
            ControlPaint.DrawCheckBox(e.Graphics, new Rectangle(10, 10, 50, 50), ButtonState.Checked);
            ControlPaint.DrawCheckBox(e.Graphics, new Rectangle(70, 10, 30, 30), ButtonState.Normal);
            ControlPaint.DrawCheckBox(e.Graphics, new Rectangle(110, 10, 20, 20), ButtonState.Checked);
            
            ControlPaint.DrawButton(e.Graphics, new Rectangle(10, 80, 20, 20), ButtonState.Checked);
            ControlPaint.DrawButton(e.Graphics, new Rectangle(50, 80, 20, 20), ButtonState.Flat);
            ControlPaint.DrawButton(e.Graphics, new Rectangle(90, 80, 20, 20), ButtonState.Normal);
            ControlPaint.DrawFocusRectangle(e.Graphics, new Rectangle(130, 80, 20, 20));
            
            ControlPaint.DrawGrid(e.Graphics, new Rectangle(10, 120, 250, 50), new Size(5, 5), Color.Blue);
            ControlPaint.DrawScrollButton(e.Graphics, new Rectangle(10, 180, 20, 20), ScrollButton.Left, ButtonState.Normal);
            ControlPaint.DrawScrollButton(e.Graphics, new Rectangle(50, 180, 20, 20), ScrollButton.Max, ButtonState.Pushed);
            ControlPaint.DrawScrollButton(e.Graphics, new Rectangle(90, 180, 20, 20), ScrollButton.Up, ButtonState.Normal);
            
            ControlPaint.DrawMenuGlyph(e.Graphics, new Rectangle(10, 220, 20, 20), MenuGlyph.Arrow);
            ControlPaint.DrawMenuGlyph(e.Graphics, new Rectangle(50, 220, 20, 20), MenuGlyph.Checkmark);
            ControlPaint.DrawMenuGlyph(e.Graphics, new Rectangle(90, 220, 20, 20), MenuGlyph.Max);
        }

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

    }
}


           
          


Use PageSetupDialog

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

public class Form1 : Form {
    private Font mainTextFont = new Font("Times New Roman", 14);
    private Font subTextFont = new Font("Times New Roman", 12);
    private PageSettings storedPageSettings;

    public Form1() {
        InitializeComponent();
    }

    private void PaintDocument(Graphics g) {
        g.PageUnit = GraphicsUnit.Point;
        g.DrawString("Simple Printing Sample",
                     this.mainTextFont,
                     Brushes.Black,
                     new Rectangle(10, 20, 180, 30));
        g.DrawRectangle(Pens.Blue, new Rectangle(new Point(10, 100), new Size(100, 50)));
    }

    private void Form1_Paint(object sender, PaintEventArgs e) {
        Graphics g = e.Graphics;
        PaintDocument(g);
    }

    private void menuFilePageSetup_Click(object sender, EventArgs e) {
        try {
            PageSetupDialog psDlg = new PageSetupDialog();
            if (this.storedPageSettings == null)
                this.storedPageSettings = new PageSettings();
            psDlg.PageSettings = this.storedPageSettings;
            psDlg.ShowDialog();
        } catch (Exception ex) {
            MessageBox.Show(ex.Message);
        }
    }

    protected void PrintPageEventHandler(Object obj, PrintPageEventArgs ev) {
        Graphics g = ev.Graphics;
        PaintDocument(g);
        ev.HasMorePages = false;
    }

    private void menuFilePrint_Click(object sender, EventArgs e) {
        try {
            PrintDocument pd = new PrintDocument();
            pd.PrintPage += new PrintPageEventHandler(this.PrintPageEventHandler);

            if (this.storedPageSettings != null)
                pd.DefaultPageSettings = this.storedPageSettings;
            PrintDialog dlg = new PrintDialog();
            dlg.Document = pd;
            DialogResult result = dlg.ShowDialog();
            if (result == System.Windows.Forms.DialogResult.OK)
                pd.Print();
        } catch (Exception ex) {
            MessageBox.Show(ex.Message);
        }
    }

    private void printPreviewToolStripMenuItem_Click(object sender, EventArgs e) {
        try {
            PrintDocument pd = new PrintDocument();
            pd.PrintPage += new PrintPageEventHandler(this.PrintPageEventHandler);

            if (this.storedPageSettings != null)
                pd.DefaultPageSettings = this.storedPageSettings;
            PrintPreviewDialog dlg = new PrintPreviewDialog();
            dlg.Document = pd;
            dlg.ShowDialog();
        } catch (Exception ex) {
            MessageBox.Show(ex.Message);
        }
    }
    private void InitializeComponent() {
        this.menuStrip1 = new System.Windows.Forms.MenuStrip();
        this.menuFilePrintPreview = new System.Windows.Forms.ToolStripMenuItem();
        this.menuFilePageSetup = new System.Windows.Forms.ToolStripMenuItem();
        this.printPreviewToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
        this.menuFilePrint = new System.Windows.Forms.ToolStripMenuItem();
        this.menuStrip1.SuspendLayout();
        this.SuspendLayout();
        this.menuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.menuFilePrintPreview});
        this.menuStrip1.Location = new System.Drawing.Point(0, 0);
        this.menuStrip1.Size = new System.Drawing.Size(292, 25);
        this.menuStrip1.Text = "menuStrip1";
        this.menuFilePrintPreview.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
            this.menuFilePageSetup,
            this.printPreviewToolStripMenuItem,
            this.menuFilePrint});
        this.menuFilePrintPreview.Name = "menuFilePrintPreview";
        this.menuFilePrintPreview.Text = "File";
        this.menuFilePageSetup.Name = "menuFilePageSetup";
        this.menuFilePageSetup.Text = "Page Setup";
        this.menuFilePageSetup.Click += new System.EventHandler(this.menuFilePageSetup_Click);
        this.printPreviewToolStripMenuItem.Name = "printPreviewToolStripMenuItem";
        this.printPreviewToolStripMenuItem.Text = "Print Preview";
        this.printPreviewToolStripMenuItem.Click += new System.EventHandler(this.printPreviewToolStripMenuItem_Click);
        this.menuFilePrint.Name = "menuFilePrint";
        this.menuFilePrint.Text = "Print";
        this.menuFilePrint.Click += new System.EventHandler(this.menuFilePrint_Click);
        this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
        this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
        this.BackColor = System.Drawing.SystemColors.Window;
        this.ClientSize = new System.Drawing.Size(292, 268);
        this.Controls.Add(this.menuStrip1);
        this.MainMenuStrip = this.menuStrip1;
        this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
        this.menuStrip1.ResumeLayout(false);
        this.ResumeLayout(false);
        this.PerformLayout();

    }
    private System.Windows.Forms.MenuStrip menuStrip1;
    private System.Windows.Forms.ToolStripMenuItem menuFilePrintPreview;
    private System.Windows.Forms.ToolStripMenuItem menuFilePageSetup;
    private System.Windows.Forms.ToolStripMenuItem printPreviewToolStripMenuItem;
    private System.Windows.Forms.ToolStripMenuItem menuFilePrint;
    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.Run(new Form1());
    }
}

    


FileOk Action

   
 
using System;
using System.IO;
using System.Windows.Forms;

class FileDialogApp {
    private static OpenFileDialog ofd;

    static void Main(string[] args) {
        ofd = new OpenFileDialog();
        string s = Path.GetDirectoryName(Path.GetDirectoryName(Directory.GetCurrentDirectory()));

        ofd.InitialDirectory = s;
        ofd.FileOk += new System.ComponentModel.CancelEventHandler(ofd_OK);
        ofd.ShowDialog();
    }
    public static void ofd_OK(object sender,
        System.ComponentModel.CancelEventArgs e) {
        StreamReader sr = new StreamReader(ofd.FileName);
        string s;
        while ((s = sr.ReadLine()) != null) {
            Console.WriteLine(s);
        }
        sr.Close();
    }
}

    


Set Filter

   
 
using System;
using System.Windows.Forms;

class MainClass {
    static void Main(string[] args) {

        OpenFileDialog dlg = new OpenFileDialog();
        dlg.Filter = "Rich Text Files (*.rtf)|*.RTF|" +
          "All files (*.*)|*.*";
        if (dlg.ShowDialog() == DialogResult.OK) {
            Console.WriteLine(dlg.FileName);

        }
    }
}