2010-11-03 5 views
5

J'utilise un winForm. J'ai 2 contrôles personnalisés que je veux ajouter dynamiquement. Le premier est ajouté à l'ouverture du formulaire. Le second est ajouté lorsque l'utilisateur clique sur un bouton. Rien de magique ici. Le problème est que lorsque j'instancie et ajoute le second contrôle, au lieu d'apparaître au-dessus de l'autre, il apparaît sous.Comment ajouter un contrôle personnalisé sur un autre

Il doit y avoir un moyen d'ajouter le contrôle d'une manière qui le rendra entièrement visible (par-dessus le reste). Voici comment je crée le second contrôle (de la même manière que le premier contrôle). J'ai essayé d'utiliser les méthodes show/hide, mais cela ne changera pas l'ordre de la pile.

private void lbRappel_Click(object sender, EventArgs e) 
    { 
     NoteCallBack noteCallBack = new NoteCallBack("test"); 
     this.Controls.Add(noteCallBack); 
     noteCallBack.Location = new Point(200, 250); 
    } 

Merci beaucoup d'avance pour votre aide.

Mathieu

Répondre

16

Vous pouvez essayer la fonction de contrôle BringToFront:

private void lbRappel_Click(object sender, EventArgs e) 
{ 
    NoteCallBack noteCallBack = new NoteCallBack("test"); 
    this.Controls.Add(noteCallBack); 
    noteCallBack.Location = new Point(200, 250); 
    noteCallBack.BringToFront(); 
} 
+0

Je dois avoir passé à côté de cette méthode plusieurs fois parce que je ne voyais pas du tout. Merci beaucoup. – Mathieu

1

Pouvez-vous les créer au moment de la conception avec le z-ordre que vous voulez, puis faites ne les visibles lors de l'exécution?

Questions connexes