al41007 Posted April 7, 2012 at 03:50 PM Report #448045 Posted April 7, 2012 at 03:50 PM 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 😉
petvetbr Posted April 7, 2012 at 09:46 PM Report #448082 Posted April 7, 2012 at 09:46 PM Eu achei uma pessoal com uma dúvida muito semelhante, veja se isto ajuda: http://stackoverflow.com/questions/1499049/foreach-control-in-form-how-can-i-do-something-to-all-the-textboxes-in-my-form Fernando Lage Bastos - MCP/MCTS/MCPD
al41007 Posted April 10, 2012 at 01:54 PM Author Report #448381 Posted April 10, 2012 at 01:54 PM 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 👍
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now