Azzerare tutti i controlli textbox

giovedì 15 marzo 2007 - 17.41

seven.7 Profilo | Junior Member

Non riesco più a trovare lo script per questo semplice comando. Qualcuno me lo posta gentilmente !

Carlik Profilo | Junior Member

Potrebbe essere

For Each ctl As Control In Me.Controls
If TypeOf (ctl) Is TextBox Then
ctl.text = ""
End If
Next

o no?

alextyx Profilo | Expert

Problematiche simili sono state discusse più volte sul forum.
Uno degli aspetti più facilmente dimenticati è che esistono dei controlli contenitore, per cui è necessario operare con delle funzioni ricorsive.Mi ricordo di aver postato del codice per un problema simile non molto tempo fa. Dovrebbe saltare fuori con una ricerca mirata.

seven.7 Profilo | Junior Member

Ho trovato il codice e l'ho adattato a quello che mi serviva, ovvero, volevo la realazione checkbox disabilitato = unchecked:

'Nota: La proprietà Controls è presente in tutti gli oggetti
'che si possono "applicare" sulle finestre delle applicazioni.
'Si tratta di una proprietà ereditata dalla classe base,
'che è System.Windows.Forms.Control per WindowsForm e
'System.Web.UI.Control per le pagine ASP.NET. Questa proprietà
'è in realtà una collezione di controlli che ti permette di
'accedere a tutti gli oggetti "contenuti" all'interno del
'controllo. Ogni controllo (anche le Form sono controlli) contiene
'dei controlli che contengono dei controlli... all'infinito.
'
Public Sub CtrlEnable(ByVal c As Control)
Dim _c As Control 'creo una variabile controllo
Dim _cb As CheckBox 'creo una variabile checkbox
For Each _c In c.Controls '...
CtrlEnable(_c) 'funzione ricorsiva con il quale, indipendentemente dalla "profondità" della gerarchia degli oggetti, si è grado di percorrere tutti le ramificazioni
If TypeOf _c Is CheckBox Then 'se _c è un CheckBox
If _c.Enabled = False Then 'se _c è disabilitato
_cb = DirectCast(_c, CheckBox) 'converti il controllo in un Checkbox e inseriscilo nella variabilie _cb
_cb.CheckState = CheckState.Unchecked 'allora togli il segno di spunta
End If
End If
Next
End Sub

Spero che le note riportate siano esatte. Come avete potuto notare al ciclo for each ci sono i ... Lascio ad uno più bravo di me completare. :D Grazie
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5