Foros del Web » Programación para mayores de 30 ;) » .NET »

[SOLUCIONADO] C# Objeto que se muestre por encima de los demás en formulario

Estas en el tema de C# Objeto que se muestre por encima de los demás en formulario en el foro de .NET en Foros del Web. Hola, Estoy desarrolando un Addin para Excel mediante VSTO (Visual Studio Tools for Office). Realmetne no es relevante ya que mi problema está en un ...
  #1 (permalink)  
Antiguo 19/04/2013, 03:55
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 0
Busqueda C# Objeto que se muestre por encima de los demás en formulario

Hola,

Estoy desarrolando un Addin para Excel mediante VSTO (Visual Studio Tools for Office). Realmetne no es relevante ya que mi problema está en un Formulario.

Estoy programando en C#.

En el formulario se me cargan dinámicamente una serie de Labels en funcion de un listado que recibe el Formulario por parámetro al crearse.

El usuario puede clickar encima de cualquiera de estos Labels y arrastrarlos mediante el ratón.
Si el usuario arrastra un label y lo deja encima de otro label (en colisión) estos intercambian posiciones (el label arrastrado se sitúa en la posición del otro label, y el otro label se sitúa en la posición que tenía el Label arrastrado antes de ser clickado).
Si en cambio el label arrastrado no se sitúa encima de otro label, vuelve a su posición.

Cuando se selecciona y se arrastra un label (cualquiera de ellos) debe mostrarse siempre por encima de los demás labels y obtejos del formulario.

Este último punto es el que no consigo. Cuando selecciono y arrastro un label, pasa por encima de unos objetos y por debajo de otros.

¿Sabéis de alguna propiedad que controle que un objetos está por encima de otros?
O alguna posible manera de solucionar ésto.

Saludos y desde ya muchas gracias.
  #2 (permalink)  
Antiguo 22/04/2013, 05:13
 
Fecha de Ingreso: diciembre-2009
Mensajes: 52
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: C# Objeto que se muestre por encima de los demás en formulario

Suponiendo que ctrl es el control que queremos que se muestre siempre por encima:

ctrl.Parent.Controls.SetChildIndex(ctrl, 0);

He puesto 0 porque con este valor se pone por encima de cualquier objeto.

Con esto modificamos el z-order (ó z-index) del objeto.

El z-order nos indica el orden de los objetos en relación a la coordenada z, la que nos marca su profundidad.

Etiquetas: c#, controls, form
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:49.