Form OnMove event

   
 


using System;
using System.Drawing;
using System.Windows.Forms;
   
class FormSize: Form
{
     public static void Main()
     {
          Application.Run(new FormSize());
     }
     public FormSize()
     {
          Text = "Form Size";
          BackColor = Color.White;
     }
     protected override void OnMove(EventArgs ea)
     {
          Invalidate();
     }
     protected override void OnPaint(PaintEventArgs pea)
     {
          Graphics graphics = pea.Graphics;
          string   str  = "Location: "        + Location        + "
"   +
                          "ClientRectangle: " + ClientRectangle;
   
          graphics.DrawString(str, Font, Brushes.Black, 0, 0);
    }
}

    


OnClick event

   
 

using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Windows.Forms;
   
class PrintableForm: Form
{
     public static void Main()
     {
          Application.Run(new PrintableForm());
     }
     public PrintableForm()
     {
          ResizeRedraw = true;
     }
     protected override void OnPaint(PaintEventArgs pea)
     {
          DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height);
     }
     protected override void OnClick(EventArgs ea)
     {
          PrintDocument prndoc = new PrintDocument();
   
          prndoc.DocumentName = Text;
          prndoc.PrintPage += new PrintPageEventHandler(PrintDocumentOnPrintPage);
          prndoc.Print();
     }
     void PrintDocumentOnPrintPage(object obj, PrintPageEventArgs ppea)
     {
          Graphics grfx  = ppea.Graphics;
          SizeF    sizef = grfx.VisibleClipBounds.Size;
   
          DoPage(grfx, Color.Black, (int)sizef.Width, (int)sizef.Height);
     }
     protected virtual void DoPage(Graphics grfx, Color clr, int cx, int cy)
     {
          Pen pen = new Pen(clr);
   
          grfx.DrawLine(pen, 0,      0, cx - 1, cy - 1);
          grfx.DrawLine(pen, cx - 1, 0, 0,      cy - 1);
     }
}

    


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();
     }
}

    


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);
   
     }
}

    


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);
     }
}

    


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();
    }
}

    


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();
    }
}