Excluyendo los GroupBoxes que están dentro de otro GroupBox
Pregunta
Vamos a decir tengo 7 cuadros de grupo, pero algunos de ellos también tienen cuadro de grupo dentro de ellos y otros no. Ahora si quiero iterar a través de esos 7 cuadros de grupo y aplicar algo a ellos, hay una manera que puedo excluir esos cuadros de grupo para niños a partir de este bucle?
Solución
aunque cuestiono la elección de la aplicación (se puede utilizar en lugar del polimorfismo? ¿Qué estás tratando de hacer?), Hay una propiedad Parent, por ejemplo.
void soSomething(Control ctrl)
{
if (ctrl is GroupBox && (ctrl.Parent is null || !(ctrl.Parent is GroupBox)))
{
//do something here
}
foreach(Control child in ctrl.Controls)
{
doSomething(child);
}
}
Otros consejos
Marcar con la propiedad de etiqueta, o algo así.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow