Ciclo For Each

domenica 04 giugno 2006 - 19.39

nioMatrix Profilo | Junior Member

Ragazzi potete dirmi perchè questa struttura mi da un errore?


Public Sub MostraPannello(ByVal ObjPanel As Panel)
For Each Pannello As Panel In Me.Controls
Pannello.Visible = False
Next
ObjPanel.Visible = True
End Sub


Io vorrei ciclare semplicemente gli oggetti panel contenuti nella Form.
Salve e grazie

PS: Vi prego di non criticarmi per la banalità del post

alextyx Profilo | Expert

Non puoi ciclare su una collezione di tipo control con un oggetto di tipo panel. Appena trova un controllo che non è panel ti dà un errore di conversione.
Devi ciclare con l'oggetto giusto (più generico) e verificare in seguito se si tratta specificatamente di un panel:

For Each ct As Control In Me.Controls
If TypeOf ct Is Panel Then
MessageBox.Show(ct.Name)
End If
Next

Vedrai che così ti funziona. Ciao.

nioMatrix Profilo | Junior Member

Grazie Mille
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5