J'ai une fenêtre MDI. Elle a un toolStrip et menuStrip dont un item à la propriété MdiWindowListItem définie. J'ai plusieurs fenêtres
enfants qui ont chacune leur toolStrip qui est fusionnée avec le toolStrip de la fenêtre principale si elles sont maximisées.
Voilà, le décor est posé.
Le problème maintenant :
Si une fenêtre qui est maximisée et que je passe à une autre par l'intermédiaire du mdiWindowListItem les boutons du toolStrip (fusionné) de la fenêtre enfant disparaissent.
Mes toolStrip sont fusionnées de la manière suivante :
l'événement SizeChanged des fenêtres enfant appellent la méthode suivante (commune à toutes les fenêtres enfant)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 protected void mergeToolStrips(ToolStrip toolStrip) { if (WindowState == FormWindowState.Maximized) { ToolStripManager.Merge(toolStrip, "mainToolStrip"); toolStrip.Visible = false; } else { ToolStripManager.RevertMerge("mainToolStrip"); toolStrip.Visible = true; } }
J'ai tenté de debugger le problème et voici ce que j'ai constaté : lorsque je passe d'une fenêtre à l'autre, la fenêtre non visible ex maximisée (et donc son toolStrip fusionné). A ce moment là la fenêtre qui était affichée est minimisée et les toolStrip séparée (et celle de la fenêtre que je viens de maximiser avec).
Ma question, est-ce qu'il y a une solution à ce problème ? Est-il possible d'indiquer aux fenêtres de gérer elles-même la fusion des toolStrips ?
Partager