Ho tre forme.Nascondere tutti i moduli aperti
Diciamo che A, B, C.
Modulo A apre modulo B e modulo B poi apre forma C.
pulsante ho aggiunto Nascondi tutte le forme aperte in forma C.
Come nascondere tutti e tre i moduli con questo pulsante?
So che un modo è usare ShowWindow Api, ma non voglio usare le chiamate Api.
Modifica: Grazie a SoMoS.
for (int i = Application.OpenForms.Count - 1; i >= 0; i += -1)
{
if (!object.ReferenceEquals(Application.OpenForms[i], this))
{
Application.OpenForms[i].Hide();
}
}
this.Hide();
O
In forma A (grazie a ho1)
B frm = new B();
frm.Owner = this;
frm.Show();
Nel modulo B
C frm = new C();
frm.Owner = this;
frm.Show();
In evento click del pulsante forma di C.
Owner.Owner.Hide();
Owner.Hide();
Hide();
O grazie alla Wim Coenen
foreach (Form var in Application.OpenForms)
{
var.Hide();
}
Grazie.
Strano come si può individuare un programmatore C++ immediatamente dal modo in cui scrivono i loro loop C#. Perché non solo 'foreach (var form in Application.OpenForms) form.Hide();'? –
@ Wim Coenen Grazie per il suggerimento. – Searock