Vous devez écrire votre code afin qu'il soit ajouté manuellement je crois.
Voir l'exemple ici pour pointeurs:
MSDN help on ToolStripPanel
Modifier
Vous avez raison ignorer mon entrée précédente est ici le code pour une application MDI très simple qui apparaît faire ce que votre après.
Il s'agit simplement de deux formulaires vierges. Form1 a IsMDIContainer=true
. Il a également menuStrip1
, qui contient deux éléments "nouveau" (newToolStripMenuItem
) et "windows" (windowsToolStripMenuItem
). Cliquez sur new pour ouvrir une nouvelle fenêtre enfant. J'ai mis le MDIWindowListItem
de menuStrip1
à windowsMenuStripItem
. Quand une nouvelle fenêtre enfant est ouverte, cliquer sur windowsMenuStripItem
produit un menu déroulant qui affiche toutes les fenêtres ouvertes.
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private int count;
public Form1()
{
InitializeComponent();
}
private void newToolStripMenuItem_Click(object sender, EventArgs e)
{
count++;
//Set a window title text as this is what is shown in the window list.
Form2 newForm = new Form2() { Text = string.Format("Window {0}", count) };
newForm.MdiParent = this;
newForm.Show();//<--- this needed to show window in list.
}
}
}
Il n'y a pas de code dans Form2.
Les fenêtres enfants affichent uniquement sous windowMenuStripItem
une fois que Form.Show() a été appelé. Sans cela, ils n'apparaissent pas dans la liste.
Salut Merci! Mais je ne pense pas que cela soit nécessaire. Il suffit de définir la propriété MDIWindowListitem du contrôle menustrip. Le concepteur devrait s'occuper du reste. mais de toute façon merci pour vos entrées. Je vais passer par le lien MSDN que vous m'avez envoyé – bornagaindeveloper
@bornagaindeveloper - J'ai sorti du code. Vous devez vous assurer que vos fenêtres enfants MDI ont leur valeur de texte définie comme c'est ce qui est affiché dans la liste déroulante. En outre, ils n'apparaissent pas tant que leur méthode Show() n'a pas été appelée. – ChrisBD