Fenêtre multiples dans un SplitContainer
Bonjour,
J'ai un SplitContainer dans mon appli. La partie de gauche est réservée à la liste de mes clients, et la partie de droite doit afficher un client. J'aimerais pouvoir gérer les fenêtres multiples dans la partie de droite.
J'ai regardé dans le sens des fenêtres Mdi et j'arrive à un bon résultat lorsque je n'ai pas de SplitContainer. Voici mon code de test :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
namespace MdiTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void newToolStripMenuItem_Click(object sender, EventArgs e)
{
Form2 f = new Form2();
f.MdiParent = this;
f.Show();
}
private void cascadeToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.Cascade);
}
private void hTileToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.TileHorizontal);
}
private void vToolStripMenuItem_Click(object sender, EventArgs e)
{
LayoutMdi(MdiLayout.TileVertical);
}
private void reduceAllToolStripMenuItem_Click(object sender, EventArgs e)
{
foreach (Form f in this.MdiChildren)
f.WindowState = FormWindowState.Minimized;
}
private void closeAllToolStripMenuItem_Click(object sender, EventArgs e)
{
foreach (Form f in this.MdiChildren)
f.Close();
}
}
} |
Maintenant, j'aimerais gérer ces fenêtres multiples dans le SplitContainer et je n'y arrive pas. Voilà mon code :
Création de la fenêtre cliente (Si je ne mets pas les 3 et 4ème lignes, ma form ne s'affiche pas) :
Code:
1 2 3 4 5 6
|
MyForm l_frm = new MyForm();
l_frm.MdiParent = this;
l_frm.Parent = splitContainer.Panel2;
splitContainer.Panel2.Controls.Add(l_frm);
l_frm.Show(); |
Ensuite, le problème est que mes fenêtres ne sont pas dans le tableau MainForm.MdiChildren car il a une taille de 0.
Merci d'avance pour votre aide. Si vous voyez d'autres voies possibles, les idées sont les bienvenues...