Vererbung mit Formularen

/* Roland Kneringer 2006

* Lerninhalt: Vererbung, Konstruktoren, Formular, Komponenten auf Formularen,

* Show(), ShowDialog(), Ereignisse

*/


using System.Windows.Forms;


namespace vererbungFormular

{

public class MyBaseForm:Form

{

public MyBaseForm(int x1, int y1){

this.Width = x1;

this.Height = y1;

this.Text = "Basisformular";

}

}

public class MyDerivedForm:MyBaseForm

{

public MyDerivedForm(int x, int y, string name):base (x,y)

{ this.Text = name;

//überschreibt die Eigenschaft "Text" in der Basisklasse

this.Top = 0;

this.Left = 0;

Button btn1 = new Button();

btn1.Text = "OK";

Controls.Add(btn1);

btn1.Click += new System.EventHandler(this.ClickMe);

}

private void ClickMe(object sender, System.EventArgs e)

{

Button b = (Button)sender;

b.Text = "Geklickt!";

b.Left += 10;

}

}

public class MainForm

{

public static void Main(string[] args)

{

MyBaseForm mf = new MyBaseForm(500,200);

MyDerivedForm md1 = new MyDerivedForm(400,200,"Abgeleitet 1");

MyDerivedForm md2 = new MyDerivedForm(600,200,"Abgeleitet 2");

md1.Show();

// schließt man md, wird die Anwendung nicht gestoppt

md2.ShowDialog();

// md2 muß erst geschlossen werden bevor es weiter geht

Application.Run(mf);

// mf schließen ==> Anwendung stoppt

}

}

}