Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
CICLO SU TEXTBOX
mercoledì 24 gennaio 2007 - 16.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
MATTEHGT
Profilo
| Junior Member
83
messaggi | Data Invio:
mer 24 gen 2007 - 16:00
Avete qualche suggerimento per impostare un ciclo che azzeri tutte le textbox di un form?
Grazie
Saluti
Giscotech
Profilo
| Junior Member
140
messaggi | Data Invio:
mer 24 gen 2007 - 16:38
Io di solito quando per esempio in un form di inserimento devo inserire dei nuovi dati uso i classici :
Textbox1.text = ""
Textbox2.text = 0
Per quale motivo devi ciclare?
Ciao
Giuseppe Scordo
MATTEHGT
Profilo
| Junior Member
83
messaggi | Data Invio:
mer 24 gen 2007 - 17:10
Metti il caso che in un form di inserimento anagrafiche ho più di trenta textbox da azzerare
Giscotech
Profilo
| Junior Member
140
messaggi | Data Invio:
mer 24 gen 2007 - 18:23
Prova con questo:
Public Sub AzzeraTextBox(ByVal c As Control)
Dim _c As Control
Dim _txt As TextBox
For Each _c In c.Controls
AzzeraTextBox(_c)
If TypeOf _c Is TextBox Then
_txt = DirectCast(_c, TextBox)
_txt.Text = ""
End If
Next
End Sub
con questo codice cicli tutti i controlli della form.
TypeOf ti permette di verificare se si tratta di una textbox.
Fammi sapere.
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mer 24 gen 2007 - 19:53
....e non dimenticare di passare su quelle che potrebbero essere contenute in altri controlli. E' il problema della ricorsività. Ne trovi qualcosa in questa discussione:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=12899
seven.7
Profilo
| Junior Member
127
messaggi | Data Invio:
mer 24 gen 2007 - 21:36
Forse è più semplice questo comando!
'il ciclo for each esegue un ciclo un numero indeterminato ti volte
For Each controlloAzzera As Object In Me.GrAnagrafica.Controls
'Se la variabile è di tipo TextBox allora azzera il campo
If TypeOf controlloAzzera Is TextBox Then
controlloAzzera.Text = ""
End If
Next
Ciauz
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mer 24 gen 2007 - 22:10
Ciao seven
Non capisco cosa significa che li ciclo for each cicla un numero indeterminato di volte. Ch'io sappia, esegue una sola scansione dei controlli e quindi si determina dal numero di controlli presenti nella collezione control della form!
Il tuo codice è più compatto, solo perchè eviti, lecitamente, di dichiarare una variabile textbox, ma se vuoi usare l'intellisense e non vuoi grane dall'option strict, la conversione di tipo (con directcast, o ctype) dovresti prevederla, più o meno come suggerito dal collega.
E poi ci sono i controlli nei panel, nei groupbox, ecc..., per i quali ho raccomandato di dare un'occhiata al problema della ricorsività!
Insomma, più di tanto, non è prudente il cercare di risparmiare codice!
seven.7
Profilo
| Junior Member
127
messaggi | Data Invio:
gio 25 gen 2007 - 07:41
Giusto scusami ma è la voglia di fare che non mi ha fatto pensare! sono alle prese con la mia prima applicazione! grazie mille cmq!
Torna su
Stanze Forum
Elenco Threads
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 !