Ciao a tutti,
creo da codice, all'interno di una DataGridView, alcuni controlli TextBox per visualizzare alcune informazioni... le Textbox vengono visualizzate dopo una certa selezione da parte dell'utente, ogni volta che visualizzo le textbox devo prima cancellare quelle presenti dalla selezione precedente.
Ovviamente la prima cosa che mi è venuta in mente è fare
ma poi rendendomi conto che all'interno della DGV c'erano altri controlli come le ScrollBar ho preferito cancellare selettivamente solo le TextBox con un classico ciclio:codice:DataGridView1.Controls.Clear
OK. Ora questo ciclo mi cancella solo alcune TextBox... ho verificato e questo perchè certe non le esamina proprio, come se non avessero come .Parent la DataGridView e invece ovviamente hanno la prorietà impostata correttamente su DataGridView1.codice:For Each Ctrl As Control In DataGridView1.Controls If TypeOf Ctrl Is TextBox Then Ctrl.Dispose() Next
Ho provato allora ad usare un ciclo:
Questo mi esamina tutti i controlli ma ovviamente ad un certo punto da errore sull'indice Ctrl visto che, dopo aver cancellato alcuni controlli, supera il numero totale DataGridView1.Controls.Count....codice:For Ctrl As Integer = 0 To DataGridView1.Controls.Count If TypeOf DataGridView1.Controls.Item(Ctrl) Is TextBox Then DataGridView1.Controls.Item(Ctrl).Dispose() Next
Mi date un consiglio?
Grazie!

Rispondi quotando