Form childForm = null; private void ShowNewForm(object sender, EventArgs e) { if (childForm == null || !childForm.IsMdiChild) { childForm = new Form(); childForm.MdiParent = this; childForm.Text = "Window " + childFormNumber++; childForm.Show(); } else switch (childForm.WindowState) { case FormWindowState.Maximized: case FormWindowState.Normal: break; case FormWindowState.Minimized: childForm.WindowState = FormWindowState.Normal; break; } }
private void ShowNewForm(Form childForm )
/// <summary> /// methode LookupInCollection /// Recherche un formulaite par son nom dans une collection /// la recherche n'est pas senssible à la casse /// s'il est trouvé il sera réactivé /// </summary> /// la collection de formulaire /// le nom du formulaireà recherché /// <returns>le formulaire recherché, ou null si non trouvé</returns> private Form LookupInCollection(Form[] forms, string formName) { //recherche du formulaire dans la collection de form foreach (Form formFilleMdi in forms) { // comparaison sur le nom sans la casse if (string.Compare(formFilleMdi.Name, formName, true) == 0) { // trouvé :-) switch (formFilleMdi.WindowState) { case FormWindowState.Maximized: case FormWindowState.Normal: formFilleMdi.Focus(); // on lui redonne le focus break; case FormWindowState.Minimized: formFilleMdi.WindowState = FormWindowState.Normal; break; } return formFilleMdi; } } //pas trouvé :-( return null; }
private void OpenForm(string formName, bool isMdi) { if (isMdi) { // recherche dans la collection des formulaires MDI Form FormFille = LookupInCollection(this.MdiChildren, formName); if (FormFille == null) { // pas trouvé , on en crée une nouvelle FormFille = new Form(); FormFille.MdiParent = this; // type MDI FormFille.Name = formName; // le nom pour la recherche FormFille.Text = formName; // le titre FormFille.Show(); return; } } else { // recherche dans la collection des formulaires non MDI Form FormFille = LookupInCollection(this.OwnedForms, formName); if (FormFille == null) { // pas trouvé, on crée un nouveau formulaire non MDI FormFille = new Form(); FormFille.Owner = this; // type non mdi FormFille.Name = formName; // le nom pour la recherche FormFille.Text = formName; // le titre FormFille.Show(); return; } } }
private void button1_Click(object sender, EventArgs e) { OpenForm(string.Format("Fomulaire mdi N°{0}",textBox1.Text), true); } private void button2_Click(object sender, EventArgs e) { OpenForm(string.Format("Fomulaire non mdi N°{0}",textBox1.Text), false); }
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question// methode de création ou d'activation de formulaire // doit être appelée en précisant le type de formulaire souhaité (pour la création) private void OpenForm<T>(string formName, bool isMdi) where T:Form,new()
//on crée un formulaire suivant le type demandé FormFille = new T();
private void button1_Click(object sender, EventArgs e) { OpenForm<Form2>(string.Format("Fomulaire mdi N°{0}", textBox1.Text), true); } private void button2_Click(object sender, EventArgs e) { OpenForm<Form3>(string.Format("Fomulaire non mdi N°{0}", textBox1.Text), false); }
Form formulaire = OpenForm(string.Format("Fomulaire mdi N°{0}",textBox1.Text), true); ((FormTable)formulaire).Affiche_table();