Event C#

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
public class frmMouseButtons : System.Windows.Forms.Form {
    private System.Windows.Forms.Label lblLeftClick;
    private System.Windows.Forms.Label lblRightClick;
    private System.Windows.Forms.Label lblMiddleClick;
    private System.Windows.Forms.Label lblHover;
    public frmMouseButtons() {
        this.lblLeftClick = new System.Windows.Forms.Label();
        this.lblRightClick = new System.Windows.Forms.Label();
        this.lblMiddleClick = new System.Windows.Forms.Label();
        this.lblHover = new System.Windows.Forms.Label();
        this.SuspendLayout();
        this.lblLeftClick.Location = new System.Drawing.Point(8, 8);
        this.lblRightClick.Location = new System.Drawing.Point(8, 32);
        this.lblRightClick.Size = new System.Drawing.Size(100, 32);
        this.lblMiddleClick.Location = new System.Drawing.Point(8, 72);
        this.lblHover.Location = new System.Drawing.Point(8, 104);
        this.lblHover.MouseEnter += new System.EventHandler(this.lblHover_MouseEnter);
        this.lblHover.MouseHover += new System.EventHandler(this.lblHover_MouseHover);
        this.lblHover.MouseLeave += new System.EventHandler(this.lblHover_MouseLeave);
        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
        this.ClientSize = new System.Drawing.Size(184, 198);
        this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                      this.lblHover,
                                      this.lblMiddleClick,
                                      this.lblRightClick,
                                      this.lblLeftClick});
        this.MaximizeBox = false;
        this.ResumeLayout(false);
    }
    protected override void OnMouseDown(MouseEventArgs e) {
        switch (e.Button) {
            case (MouseButtons.Left):
                lblLeftClick.Text = "Left Click";
                break;
            case (MouseButtons.Middle):
                lblLeftClick.Text = "Middle Click";
                break;
            case (MouseButtons.Right):
                lblLeftClick.Text = "Right Click";
                break;
            case (MouseButtons.XButton1):
                lblLeftClick.Text = "XButton1 Click";
                break;
            case (MouseButtons.XButton2):
                lblLeftClick.Text = "XButton2 Click";
                break;
        }
        switch (e.Clicks) {
            case 1:
                lblMiddleClick.Text = "Single Click";
                break;
            case 2:
                lblMiddleClick.Text = "Double Click!";
                break;
            default:
                lblMiddleClick.Text = "Many clicks!";
                break;
        }
    }
    protected override void OnMouseWheel(MouseEventArgs e) {
        switch (e.Delta) {
            case -360:
                lblRightClick.Text = "One Rotation Reverse";
                break;
            case -720:
                lblRightClick.Text = "Two Rotations Reverse";
                break;
            case 360:
                lblRightClick.Text = "One Rotation Forward";
                break;
            case 720:
                lblRightClick.Text = "Two Rotations Forward";
                break;
            default:
                lblRightClick.Text = "Rotation wasn't full turn of wheel";
                break;
        }
    }
    protected void lblHover_MouseEnter(object sender, EventArgs e) {
        lblRightClick.Text = "One Rotation Forward";
        lblHover.Text = "Entering label";
        Cursor = Cursors.NoMove2D;
    }
    protected void lblHover_MouseHover(object sender, EventArgs e) {
        lblHover.Text = "Hovering over label";
        Cursor = Cursors.Hand;
        System.Diagnostics.Debug.WriteLine("hover");
    }
    protected void lblHover_MouseLeave(object sender, EventArgs e) {
        lblHover.Text = "Leaving label";
        Cursor = Cursors.Default;
    }
    [STAThread]
    static void Main() {
        Application.Run(new frmMouseButtons());
    }
}