Escluse le GroupBoxes che si trovano all'interno di un altro GroupBox
Domanda
dire Let ho 7 caselle di gruppo, ma alcuni di loro hanno anche casella di gruppo al loro interno e alcuni non lo fanno. ora se voglio operare attraverso quelle 7 caselle di gruppo e applicare loro qualcosa, c'è un modo che io possa escludere tali caselle di gruppo dei bambini da questo ciclo?
Soluzione
se io metto in discussione la scelta di attuazione (si può utilizzare il polimorfismo, invece? Che cosa stai cercando di fare?), V'è una proprietà Parent, per es.
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);
}
}
Altri suggerimenti
Marco li con la proprietà tag, o qualcosa del genere.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow