En CSS, que tienen una propiedad denominada z-index, lo que es lo mismo en Winfrom fijado para un control Panel a la "Z-Index?"Índice Z" en winforms
Respuesta
Windows Forms tiene una orden Z. , pero no puede acceder a él como un número. En su lugar, cada control tiene un método BringToFront
y un método SendToBack
, que mueven el control a la parte superior del orden z o al pie, respectivamente.
No estoy seguro exactamente por qué fue expuesto de esta manera, aunque rara vez se encuentra con situaciones en las que BringToFront o SendToBack no proporcionan lo que necesita.
Actualización: Estoy equivocado, puede acceder al pedido z directamente a través de un método en la colección Controls
del contenedor del control. He aquí un método sencillo que lo envuelve:
public void SetControlZOrder(Control ctrl, int z)
{
ctrl.Parent.Controls.SetChildIndex(ctrl, z);
}
supongo que encapsulan esto en BringToFront
y SendToBack
sólo para mantener todo simple y fácil de usar. Yo aplaudo.
Actualización 2: interpreté sus comentarios a una respuesta diferente aquí para decir que usted quiere ser capaz de llevar un control que está dentro de un panel y más grande que el panel (de modo que parte de ella se oculta) y haz que el control esté delante del panel y más grande que él (para que puedas ver el control completo).
Usted puede hacer esto mediante la eliminación del control del panel, cambiando su posición por la posición del Grupo Especial inicial, y agregarlo a los controles del formulario:
panel1.Controls.Remove(button1);
button1.Left += panel1.Left;
button1.Top += panel1.Top;
this.Controls.Add(button1);
Los desplazamientos a la izquierda y superior son necesarias porque el botón de posición era originalmente relativa al panel, y ahora será relativa a la forma. Los cambios lo mantienen en la posición virtual original, por lo que parece salir del panel.
Luego, tendrá que encargarse de volver a colocarlo en el panel, que es exactamente lo contrario al código anterior.
- 1. CSS IE7 índice z
- 2. índice z vs translate3D en Chrome
- 3. Mayor índice z que aparece debajo del índice z más bajo
- 4. Índice Z y Posicionamiento Relativo/Absoluto
- 5. Comparar elementos HTML por índice z real
- 6. CSS: el índice z no funciona correctamente
- 7. ¿Por qué no funciona el índice Z?
- 8. Buscar elemento con índice Z especificado
- 9. Cómo establecer el orden Z de un control usando WinForms
- 10. Llevar elemento hacia adelante (índice Z) en Silverlight/WPF
- 11. css aparece un índice z más alto en el inferior
- 12. Error de representación del índice Z en Chrome 19?
- 13. ¿Cómo se establece el índice z en Ext.Panel (ExtJS)?
- 14. Cambiar el índice Z del marcador en capas abiertas
- 15. Obteniendo el índice Z de un DIV en JavaScript?
- 16. ¿Por qué z-index: -1; aparece por encima del índice Z: 1 ;?
- 17. No se puede cambiar el índice Z con JQuery
- 18. Cómo calcular el índice z efectivo de un elemento HTML
- 19. enlace de clic a continuación un div índice z mayor
- 20. revertir z-índice basado de la página para rendir
- 21. Orden de la pila de imágenes (índice z equivalente)
- 22. css posicionamiento de los márgenes negativos del índice Z
- 23. Cómo configurar el índice z usando algunos valores enteros
- 24. IE 6 y IE 7 Índice Z Problema
- 25. Elementos de li superpuestos con fondo e índice z
- 26. Google Maps, índice Z y menú desplegable de Javascript
- 27. Todo sobre .... Z-Index?
- 28. Determinar línea lógica del índice de carga (Winforms TextBox)
- 29. Z-index roto en IE8?
- 30. ¿Hay alguna manera de establecer algún tipo de índice z para la posición z de los objetos UIImageView?
@ sv88erik: borré mi respuesta porque esta es mejor, pero aquí está el comentario que escribió en ella: '" el problema es que entonces, ¿qué es que los controles dentro del panel no muestran más que el tamaño de la Lo hago de modo que cuando haga clic en los controles dentro del panel será más grande, y luego se queda sin el tamaño del panel .... "'. Estoy seguro de que lo que quiere hacer es posible, pero no estoy seguro de la forma correcta de hacerlo. Una opción podría ser hacer que TODOS los controles sean hijos del Formulario (theControl.Parent = theForm). Entonces se superpondrán entre sí. –