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?

È stato utile?

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
scroll top