GUI Windows Forms C# Tutorial

using System;
using System.Drawing;
using System.Windows.Forms;
public class BaseForm : System.Windows.Forms.Form
{
  private Button btnClose;
  private Button btnApp;
  protected Label lbl;
  public BaseForm()
  {
    btnClose = new Button();
    btnClose.Location = new Point(25,100);
    btnClose.Size = new Size(100,25);
    btnClose.Text = "&Close";
    btnClose.Click += new System.EventHandler(btnClose_Click);
    btnApp = new Button();
    btnApp.Location = new Point(200,100);
    btnApp.Size = new Size(150,25);
    btnApp.Text = "&Base Application";
    btnApp.Click += new System.EventHandler(btnApp_Click);
    lbl = new Label();
    lbl.Location = new Point(25,25);
    lbl.Size = new Size(100,25);
    lbl.Text = "This label on BaseForm";
    Controls.AddRange(new Control[]{lbl, btnClose, btnApp});
  }
  static void Main() 
  {
    Application.Run(new BaseForm());
  }
  private void btnClose_Click(object sender, EventArgs e)
  {
    Application.Exit();
  }
  private void btnApp_Click(object sender, EventArgs e)
  {
    MessageBox.Show("This is the Base application.");
    SomeMethod();
  }
  protected virtual void SomeMethod()
  {
    MessageBox.Show("This is SomeMethod called from BaseForm.");
  }
}
public class InheritedForm : BaseForm
{
  private Button btn;
  public InheritedForm()
  {
    btn = new Button();
    btn.Location = new Point(25,150);
    btn.Size = new Size(125,25);
    btn.Text = "C&lose on Inherited";
    btn.Click += new System.EventHandler(btn_Click);
    Controls.Add(btn);
    lbl.Text = "Now from InheritedForm";
    BackColor = Color.LightBlue;
  }
  static void Main() 
  {
    Application.Run(new InheritedForm());
  }
  private void btn_Click(object sender, EventArgs e)
  {
    Application.Exit();
  }
  protected override void SomeMethod()
  {
    MessageBox.Show("This is the overridden SomeMethod called " + 
                    "from InheritedForm.");
  }
}