2010-11-03 11 views
5

Estoy usando un winForm. Tengo 2 controles personalizados que quiero agregar dinámicamente. El primero se agrega al abrir el formulario. El segundo se agrega cuando el usuario hace clic en un botón. Nada mágico aquí. El problema es que cuando instalo y agregue el segundo control, en lugar de aparecer encima del otro, aparece debajo.Cómo agregar un control personalizado en TOP de otro

Debe haber una manera de agregar el control de manera que lo haga completamente visible (además del resto). Así es como creo el segundo control (del mismo modo que el primer control). Intenté usar los métodos show/hide, pero esto no cambiará el orden de la pila.

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

Muchas gracias de antemano por su ayuda.

Mathieu

Respuesta

16

puede probar con el control de la función 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

Debo haber pasado junto a este método un par de veces porque no lo veía en absoluto. Muchas gracias. – Mathieu

1

puede usted crear en tiempo de diseño con el orden z desea, a continuación, sólo se hacen visibles en tiempo de ejecución?

Cuestiones relacionadas