GUI Windows Form C#

/*
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;
using System.Drawing.Drawing2D;
  /// 
  /// Summary description for IrregularlyShapedForms.
  /// 

  public class IrregularlyShapedForms : System.Windows.Forms.Form
  {
    internal System.Windows.Forms.Label lblDrag;
    internal System.Windows.Forms.PictureBox picFour;
    internal System.Windows.Forms.PictureBox picThree;
    internal System.Windows.Forms.PictureBox picOne;
    internal System.Windows.Forms.PictureBox picTwo;
    internal System.Windows.Forms.ImageList imgNormalButtons;
    internal System.Windows.Forms.ImageList imgSelectedButtons;
    private System.ComponentModel.IContainer components;
    public IrregularlyShapedForms()
    {
      //
      // Required for Windows Form Designer support
      //
      InitializeComponent();
      //
      // TODO: Add any constructor code after InitializeComponent call
      //
    }
    /// 
    /// Clean up any resources being used.
    /// 

    protected override void Dispose( bool disposing )
    {
      if( disposing )
      {
        if (components != null) 
        {
          components.Dispose();
        }
      }
      base.Dispose( disposing );
    }
    #region Windows Form Designer generated code
    /// 
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// 

    private void InitializeComponent()
    {
      this.components = new System.ComponentModel.Container();
      System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(IrregularlyShapedForms));
      this.lblDrag = new System.Windows.Forms.Label();
      this.picFour = new System.Windows.Forms.PictureBox();
      this.picThree = new System.Windows.Forms.PictureBox();
      this.picOne = new System.Windows.Forms.PictureBox();
      this.picTwo = new System.Windows.Forms.PictureBox();
      this.imgNormalButtons = new System.Windows.Forms.ImageList(this.components);
      this.imgSelectedButtons = new System.Windows.Forms.ImageList(this.components);
      this.SuspendLayout();
      // 
      // lblDrag
      // 
      this.lblDrag.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(224)), ((System.Byte)(224)), ((System.Byte)(224)));
      this.lblDrag.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
      this.lblDrag.Location = new System.Drawing.Point(80, 36);
      this.lblDrag.Name = "lblDrag";
      this.lblDrag.Size = new System.Drawing.Size(124, 20);
      this.lblDrag.TabIndex = 9;
      this.lblDrag.Text = "      < Drag Here! >";
      this.lblDrag.MouseUp += new System.Windows.Forms.MouseEventHandler(this.lblDrag_MouseUp);
      this.lblDrag.MouseMove += new System.Windows.Forms.MouseEventHandler(this.lblDrag_MouseMove);
      this.lblDrag.MouseDown += new System.Windows.Forms.MouseEventHandler(this.lblDrag_MouseDown);
      // 
      // picFour
      // 
      this.picFour.Image = ((System.Drawing.Bitmap)(resources.GetObject("picFour.Image")));
      this.picFour.Location = new System.Drawing.Point(44, 176);
      this.picFour.Name = "picFour";
      this.picFour.Size = new System.Drawing.Size(209, 29);
      this.picFour.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
      this.picFour.TabIndex = 8;
      this.picFour.TabStop = false;
      this.picFour.Tag = "3";
      this.picFour.Click += new System.EventHandler(this.picFour_Click);
      this.picFour.MouseEnter += new System.EventHandler(this.pic_MouseEnter);
      this.picFour.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pic_MouseUp);
      this.picFour.MouseLeave += new System.EventHandler(this.pic_MouseLeave);
      this.picFour.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pic_MouseDown);
      // 
      // picThree
      // 
      this.picThree.Image = ((System.Drawing.Bitmap)(resources.GetObject("picThree.Image")));
      this.picThree.Location = new System.Drawing.Point(44, 144);
      this.picThree.Name = "picThree";
      this.picThree.Size = new System.Drawing.Size(209, 27);
      this.picThree.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
      this.picThree.TabIndex = 7;
      this.picThree.TabStop = false;
      this.picThree.Tag = "2";
      this.picThree.MouseEnter += new System.EventHandler(this.pic_MouseEnter);
      this.picThree.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pic_MouseUp);
      this.picThree.MouseLeave += new System.EventHandler(this.pic_MouseLeave);
      this.picThree.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pic_MouseDown);
      // 
      // picOne
      // 
      this.picOne.Image = ((System.Drawing.Bitmap)(resources.GetObject("picOne.Image")));
      this.picOne.Location = new System.Drawing.Point(44, 80);
      this.picOne.Name = "picOne";
      this.picOne.Size = new System.Drawing.Size(209, 26);
      this.picOne.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
      this.picOne.TabIndex = 6;
      this.picOne.TabStop = false;
      this.picOne.Tag = "0";
      this.picOne.MouseEnter += new System.EventHandler(this.pic_MouseEnter);
      this.picOne.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pic_MouseUp);
      this.picOne.MouseLeave += new System.EventHandler(this.pic_MouseLeave);
      this.picOne.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pic_MouseDown);
      // 
      // picTwo
      // 
      this.picTwo.Image = ((System.Drawing.Bitmap)(resources.GetObject("picTwo.Image")));
      this.picTwo.Location = new System.Drawing.Point(44, 112);
      this.picTwo.Name = "picTwo";
      this.picTwo.Size = new System.Drawing.Size(209, 28);
      this.picTwo.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize;
      this.picTwo.TabIndex = 5;
      this.picTwo.TabStop = false;
      this.picTwo.Tag = "1";
      this.picTwo.MouseEnter += new System.EventHandler(this.pic_MouseEnter);
      this.picTwo.MouseUp += new System.Windows.Forms.MouseEventHandler(this.pic_MouseUp);
      this.picTwo.MouseLeave += new System.EventHandler(this.pic_MouseLeave);
      this.picTwo.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pic_MouseDown);
      // 
      // imgNormalButtons
      // 
      this.imgNormalButtons.ColorDepth = System.Windows.Forms.ColorDepth.Depth16Bit;
      this.imgNormalButtons.ImageSize = new System.Drawing.Size(209, 29);
      this.imgNormalButtons.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imgNormalButtons.ImageStream")));
      this.imgNormalButtons.TransparentColor = System.Drawing.Color.Transparent;
      // 
      // imgSelectedButtons
      // 
      this.imgSelectedButtons.ColorDepth = System.Windows.Forms.ColorDepth.Depth16Bit;
      this.imgSelectedButtons.ImageSize = new System.Drawing.Size(209, 29);
      this.imgSelectedButtons.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imgSelectedButtons.ImageStream")));
      this.imgSelectedButtons.TransparentColor = System.Drawing.Color.Transparent;
      // 
      // IrregularlyShapedForms
      // 
      this.AutoScaleBaseSize = new System.Drawing.Size(5, 14);
      this.BackgroundImage = ((System.Drawing.Bitmap)(resources.GetObject("$this.BackgroundImage")));
      this.ClientSize = new System.Drawing.Size(292, 266);
      this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                      this.lblDrag,
                                      this.picFour,
                                      this.picThree,
                                      this.picOne,
                                      this.picTwo});
      this.Font = new System.Drawing.Font("Tahoma", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
      this.Name = "IrregularlyShapedForms";
      this.Text = "IrregularlyShapedForms";
      this.Load += new System.EventHandler(this.IrregularlyShapedForms_Load);
      this.ResumeLayout(false);
    }
    #endregion
    /// 
    /// The main entry point for the application.
    /// 

    [STAThread]
    static void Main() 
    {
      Application.Run(new IrregularlyShapedForms());
    }
    private void IrregularlyShapedForms_Load(object sender, System.EventArgs e)
    {
      GraphicsPath path = new GraphicsPath();
      path.AddEllipse(10, 50, this.Width - 20, this.Height - 60);
      this.Region = new Region(path);
      
      picOne.Image = imgNormalButtons.Images[0];
      picTwo.Image = imgNormalButtons.Images[1];
      picThree.Image = imgNormalButtons.Images[2];
      picFour.Image = imgNormalButtons.Images[3];
    }
    private void picFour_Click(object sender, System.EventArgs e)
    {
      this.Close();
    }
    private void pic_MouseEnter(object sender, System.EventArgs e)
    {
      PictureBox pic = (PictureBox)sender;
      int imageIndex = int.Parse((pic.Tag.ToString()));
      pic.Image = imgSelectedButtons.Images[imageIndex];
    }
    private void pic_MouseLeave(object sender, System.EventArgs e)
    {
      PictureBox pic = (PictureBox)sender;
      int imageIndex = int.Parse((pic.Tag.ToString()));
      pic.Image = imgNormalButtons.Images[imageIndex];
    }
    private void pic_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
      PictureBox pic = (PictureBox)sender;
      pic.Top += 2;
      pic.Left += 2;
    }
    private void pic_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    {
      PictureBox pic = (PictureBox)sender;
      pic.Top -= 2;
      pic.Left -= 2;
    }
    private bool formDragging;
    private Point pointClicked;
    private void lblDrag_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {
       // Set drag mode on.
      formDragging = true;
            // Store the offset where the control was clicked.
      pointClicked = new Point(e.X, e.Y);
    }
    private void lblDrag_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
    {
      if (formDragging)
      {
        Point pointMoveTo;
        
        // Find the current mouse position in screen coordinates.
        pointMoveTo = this.PointToScreen(new Point(e.X, e.Y));
        
        // Compensate for the position the control was clicked.
        pointMoveTo.Offset(-pointClicked.X, -pointClicked.Y);
        
        // Compensate for the non-client region (title bar).
        // This code is not necessary if you explicitly hide the title bar
        //  by setting the form's BorderStyle to None.
        pointMoveTo.Offset(0, -25);
        
        // Move the form.
        this.Location = pointMoveTo;
      }
    }
    private void lblDrag_MouseUp(object sender, System.Windows.Forms.MouseEventArgs e)
    {
      formDragging = false;
    }
  }
           
       
IrregularlyShapedForms.zip( 164 k)