OnKeyDown event

   
 


using System;
using System.Drawing;
using System.Windows.Forms;
   
class ExitOnX: Form
{
     public static void Main()
     {
          Application.Run(new ExitOnX());
     }
     public ExitOnX()
     {
          Text = "Exit on X";
     }
     protected override void OnKeyDown(KeyEventArgs kea)
     {
          if (kea.KeyCode == Keys.X)
               Close();
     }
}

    


OnMouseEnter, OnMouseHover, OnMouseLeave event

   
 

using System;
using System.Drawing;
using System.Windows.Forms;
   
class EnterLeave: Form
{
     bool bInside = false;
   
     public static void Main()
     {
          Application.Run(new EnterLeave());
     }
     public EnterLeave()
     {
     }
     protected override void OnMouseEnter(EventArgs ea)
     {
          bInside = true;
          Invalidate();
     }
     protected override void OnMouseLeave(EventArgs ea)
     {
          bInside = false;
          Invalidate();
     }
     protected override void OnMouseHover(EventArgs ea)
     {
          Graphics grfx = CreateGraphics();
    
          grfx.Clear(Color.Red);
          System.Threading.Thread.Sleep(500);
          grfx.Clear(Color.Green);
          grfx.Dispose();
     }
     protected override void OnPaint(PaintEventArgs pea)
     {
          Graphics grfx = pea.Graphics;
   
          grfx.Clear(bInside ? Color.Green : BackColor);
     }
}

    


On Mouse Wheel

   
 

using System;
using System.Drawing;
using System.Windows.Forms;
   
class PoePoem: Form
{
     public static void Main()
     {
          if (!SystemInformation.MouseWheelPresent)
          {
               Console.WriteLine("Program needs a mouse with a mouse wheel!");
               return;
          }
          Application.Run(new PoePoem());
     }
     public PoePoem()
     {

     }
     protected override void OnMouseWheel(MouseEventArgs mea)
     {
          Console.WriteLine(mea.Delta);
   
     }
}

    


Form Focus event


   
 

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

public class FocusForm : System.Windows.Forms.Form {
    private System.Windows.Forms.TextBox txtFocusForm;
    private System.Windows.Forms.Button btFocusForm;
    public FocusForm() {
        this.txtFocusForm = new System.Windows.Forms.TextBox();
        this.btFocusForm = new System.Windows.Forms.Button();
        this.SuspendLayout();

        this.txtFocusForm.Location = new System.Drawing.Point(8, 8);
        this.txtFocusForm.Size = new System.Drawing.Size(336, 20);
        this.txtFocusForm.LostFocus += new System.EventHandler(this.txtFocusForm_LostFocus);
        this.txtFocusForm.GotFocus += new System.EventHandler(this.txtFocusForm_GotFocus);

        this.btFocusForm.Location = new System.Drawing.Point(8, 40);
        this.btFocusForm.Size = new System.Drawing.Size(336, 23);
        this.btFocusForm.Click += new System.EventHandler(this.btFocusForm_Click);

        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
        this.ClientSize = new System.Drawing.Size(352, 70);
        this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                      this.btFocusForm,
                                      this.txtFocusForm});
        this.ResumeLayout(false);
    }

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

    protected void txtFocusForm_LostFocus(object sender, EventArgs e) {
        Console.WriteLine("Goodbye!");
    }

    protected void txtFocusForm_GotFocus(object sender, EventArgs e) {
        Console.WriteLine("Hello!");
    }

    private void btFocusForm_Click(object sender, System.EventArgs e) {
        bool canFocus = txtFocusForm.CanFocus;
        bool containsFocus = this.ContainsFocus;
        bool focused = txtFocusForm.Focused;

        Console.WriteLine("Textbox can focus: " + canFocus +
                     "
Form children contain focus: " + containsFocus +
                     "
Textbox has focus: " + focused);

        txtFocusForm.Focus();
    }
}

    


OnInputLanguageChanged


   
 

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

public class InternationalText : System.Windows.Forms.Form {
    internal System.Windows.Forms.Label lblInternationalText;
    internal System.Windows.Forms.Label lblCharCode;
    private System.Windows.Forms.TextBox textBox1;
    public InternationalText() {
        this.lblInternationalText = new System.Windows.Forms.Label();
        this.lblCharCode = new System.Windows.Forms.Label();
        this.textBox1 = new System.Windows.Forms.TextBox();
        this.SuspendLayout();

        this.lblInternationalText.Location = new System.Drawing.Point(8, 64);
        this.lblInternationalText.Size = new System.Drawing.Size(288, 23);

        this.lblCharCode.Location = new System.Drawing.Point(8, 96);
        this.lblCharCode.Size = new System.Drawing.Size(88, 23);

        this.textBox1.Location = new System.Drawing.Point(8, 24);
        this.textBox1.Size = new System.Drawing.Size(288, 20);
        this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.textBox1_KeyPress);

        this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
        this.ClientSize = new System.Drawing.Size(304, 134);
        this.Controls.AddRange(new System.Windows.Forms.Control[] {
                                                                      this.textBox1,
                                                                      this.lblCharCode,
                                                                      this.lblInternationalText});
        this.MaximizeBox = false;
        this.ResumeLayout(false);

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

    protected override void OnInputLanguageChanged(InputLanguageChangedEventArgs e) {
        MessageBox.Show(e.InputLanguage.Culture.Name);
    }

    protected override void OnInputLanguageChanging(InputLanguageChangingEventArgs e) {
        MessageBox.Show(e.InputLanguage.Culture.Name);
    }

    private void textBox1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) {
        lblInternationalText.Text += e.KeyChar.ToString();
        lblCharCode.Text = ((int)e.KeyChar).ToString();
    }
}

    


Scrolling (AutoScrollMinSize)

   
 


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

public class Form1 : System.Windows.Forms.Form {
    [STAThread]
    static void Main() {
        Application.Run(new Form1());
    }
    protected override void OnPaint(PaintEventArgs e) {
        Graphics g;
        g = Graphics.FromHwnd(this.Handle);
        GraphicsUnit units = GraphicsUnit.Pixel;

        string path = "your.jpg";
        Image im = Image.FromFile(path);
        this.AutoScrollMinSize = new Size(im.Width, im.Height);
        //this.AutoScroll = true;

        Point P = this.AutoScrollPosition;
        Rectangle dstR = this.ClientRectangle;
        RectangleF srcR = new RectangleF(-P.X, -P.Y, dstR.Width, dstR.Height);
        g.DrawImage(im, dstR, srcR, units);
        g.Dispose();
    }
}

    


Form Window event: closing, closed, load, activated, deactivated

   
 

using System;
using System.Windows.Forms;
using System.ComponentModel;

public class MainWindow : Form {
    private string lifeTimeInfo;
    public MainWindow() {
        this.Closing += new CancelEventHandler(MainForm_Closing);
        this.Load += new EventHandler(MainForm_Load);
        this.Closed += new EventHandler(MainForm_Closed);
        this.Activated += new EventHandler(MainForm_Activated);
        this.Deactivate += new EventHandler(MainForm_Deactivate);
    }

    protected void MainForm_Closing(object sender, CancelEventArgs e) {
        DialogResult dr = MessageBox.Show("Do you REALLY want to close this app?",
             "Closing event!", MessageBoxButtons.YesNo);
        if (dr == DialogResult.No)
            e.Cancel = true;
        else
            e.Cancel = false;
    }

    protected void MainForm_Load(object sender, System.EventArgs e) { 
        lifeTimeInfo += "Load event
"; 
    }
    protected void MainForm_Activated(object sender, System.EventArgs e) { 
        lifeTimeInfo += "Activate event
"; 
    }
    protected void MainForm_Deactivate(object sender, System.EventArgs e) { 
        lifeTimeInfo += "Deactivate event
"; 
    }
    protected void MainForm_Closed(object sender, System.EventArgs e) {
        lifeTimeInfo += "Closed event
";
        MessageBox.Show(lifeTimeInfo);
    }
    public static void Main(string[] args) {
        Application.Run(new MainWindow());
    }
}