Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Form2 :
All'interno di Form2 occorre definire un nuovo costruttore che si aspetti
un intero come parametro. Questo costruttore per prima cosa deve
richiamare il metodo InizializeComponent() per istanziare e disegnare
tutti i componenti presenti sulla nuova form.
private int n;
public Form2(int n) {
InitializeComponent();
this.n = n;
}
Per aprire una form come secondaria di un‟altra form occorre, sulla form
principale, prima di visualizzare la form figlia, utilizzare il metodo
AddOwnedForm prima del metodo Show( ).
Form2 form2 = new Form2(); t
his.AddOwnedForm(form2);
form2.Show( );
All‟interno della form secondaria la proprietà Owner contiene un
riferimento ad una eventuale form genitore :
if (this.Owner != null) MsgBox(“Owned by “ + this.Owner.Text)
Per vedere l‟elenco delle form secondarie possedute da una form si può
utilizzare la collection OwnedForms: foraech (Form frm in
this.OwnedForms) MsgBox(frm.Text);
FROM MODALI
Una form Modale è una form bloccante, cioè una form che mantiene il
focus fino a quando non viene chiusa.
Una qualunque form può essere aperta come modale utilizzando il
metodo .ShowDialog( ) che, a differenza del metodo Show interrompe il
codice chiamante fino a quando la form modale non viene chiusa
MDI FORM
Una form MDI Figlia “vive” soltanto all‟interno dell‟area client della form
genitore. Per trasformare una form in contenitore MDI occorre impostare
la proprietà IsMdiContainer = True. Una form MDI Container presenta
sfondo grigio. La proprietà IsMdiContainer è incompatibile con
AutoScroll: non possono essere entrambe True
Form Figlie
La proprietà IsMdiChild restituisce True se la form è attualmente figlia di
un Container MDI. Per dichiarare una form figlia di una form MDI occorre
impostare la proprietà MdiParent, disponibile solo da codice, che è un
puntatore alla form genitore. Quando una form MDI Container intende
visualizzare una form figlia, prima dello Show, dovrà settare la proprietà
MdiParent nel modo seguente:
Form2 frm = new Form2();
frm.MdiParent = this;
frm.Show();
Per scandire le form figlie di un MDI Container si può utilizzare il
seguente ciclo:
foreah (Form frm in this.MdiChildren) { MsgBox(frm.Text); frm.Select(); }