Inherited Form : Form « GUI Windows Forms « C# / CSharp 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.");
  }
}








23.2.Form
23.2.1.Subclass Form
23.2.2.Use Inherited form in a separate Main class
23.2.3.Inherit Form With Constructor
23.2.4.ResumeLayout and SuspendLayout
23.2.5.Call form constructor to create a Form object
23.2.6.Cal Show method to display a form
23.2.7.Text as the title
23.2.8.Set Form Visible properties
23.2.9.The difference between Form.Show and Application.Run()
23.2.10.The Hello, WindowsForms Application
23.2.11.Build Form without by hand
23.2.12.Inherited Form
23.2.13.Move a Form in codeMove a Form in code
23.2.14.Irregular formIrregular form
23.2.15.Add a Main Menu
23.2.16.Change Form size in menu action
23.2.17.Scroll FormScroll Form
23.2.18.Form message filter
23.2.19.Form Dispose
23.2.20.Change Form Cursor
23.2.21.Add control to Form dynamically