Jump to content

Recommended Posts

Posted

Boa tarde pessoal. Estou aqui a trabalhar num projecto e deparei-me com um problema: preciso que o programa percorra todas as pictureBox de uma classe (form) até localizar uma que verifique uma determinada condição. Dentro de um método da classe eu preciso fazer

foreach (PictureBox pict in this)
            if (pict.Location.X == Xmedio && pict.Location.Y == Ymedio)
                   pict.Image = null;

Depois surgiu um erro que dizia que o foreach precisava de um IEnumerable (ou algo do género). Então adicionei à classe o método (e respectivo include):

        public IEnumerator GetEnumerator()
        {
            foreach(PictureBox pict in this)
                yield return pict;
        }

no entando, enquanto o programa corre surge uma excepção com a mensagem "An unhandled exception of type 'System.StackOverflowException' occurred in game.exe" a apontar para a linha de código do foreach deste método.

Alguém tem alguma ideia para me ajudar com isto? thanks  😉

Posted

Obrigado!  🙂 Parece ser isso. Vou experimentar

public IEnumerator GetEnumerator()
{
        foreach (Control x in this.Controls) 
                if (x is PictureBox) 
                      yield return pict;
}

ou simplesmente

 foreach (Control x in this.Controls) 
                if (x is PictureBox) 
                      yield return pict;

dentro do método onde preciso deste foreach

Thanks  👍

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.