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
E' possibile indicizzare textbox
lunedì 23 gennaio 2006 - 12.44
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
valerik
Profilo
| Junior Member
153
messaggi | Data Invio:
lun 23 gen 2006 - 12:44
E' possibile indicizzare textbox,
oppure come devo fare?
Ciciu
Profilo
| Senior Member
233
messaggi | Data Invio:
lun 23 gen 2006 - 13:16
Ciao.
Cosa significa "indicizzare" ?
Se intendo qualcosa del genere this.controls[<nomecontrollo>].text per assegnare/leggere il valore di una textbox posta sulla Tua form, beh si...
Ma mi sembra una risposta che ho dato al Tuo thread di questa mattina...
In caso questa non sia la risposta che Ti aspettavi, allora non ho capito la domanda...
Ciao - Fabio
Fabio G
Giamp72
Profilo
| Junior Member
115
messaggi | Data Invio:
mer 25 gen 2006 - 10:42
non si possono utilizzare Array di textbox o altri oggetti in .Net (al contrario di visual basic)
l'unica soluzione è scorrere la collezione di controlli del form o del panel.
Supponi ad esempio di avere in visual basic tx(1) tx(2) e tx(3) da portare in .Net:
nel tuo form diventeranno Tx1 Tx2 e Tx3.
Un metodo per scorrere l'elenco è:
dim ctrl as control
for each ctrl in form.controls
If TypeOf ctrl Is TextBox Then
'questo è un text box quindi valuto se è uno di quelli che cerco..
if ctrl.name="tx1" or ctrl.name="tx2" or ctrl.name="tx3" then
'Trovato!!
end if
endif
next
ti consiglio eventualmente di utilizzare il campo Tag come campo di riferimento per le tue ricerche..
se ad esempio metti sul tag di ognuno dei tuoi textbox lo stesso nome, nel ciclo for each valuterai solo gli oggetti che hanno nella proprietà tag quel nome specifico...
Spero di esserti stato utile.
Ciao
Giamp72
Ciciu
Profilo
| Senior Member
233
messaggi | Data Invio:
mer 25 gen 2006 - 11:27
Corretto.
Il problema, secondo me, è che facendo un ciclo "completo" su tutti i controlli della form "perde" più tempo.
Se dal datareader riuscisse ad ottenere in qualche maniera l'identificativo del campo da aggiornare, sarebbe più veloce l'indirizzamento diretto del campo TextBox.
Nota : this.controls["nomecontrollo"].text NON corrisponde agli indici del VB6. E' l'indirizzamento dei controlli presenti sulla form.
Ovviamente, è necessario essere sicuri che il controllo indirizzato abbia una proprietà TEXT (e, quindi, che sia un TextBox....)
Ciao - fg
Fabio G
Giamp72
Profilo
| Junior Member
115
messaggi | Data Invio:
mer 25 gen 2006 - 11:36
se non si vuole ciclare su tutti i controlli ( il mio era un esempio generico)
si può semplicemente scrivere:
dim ctrl as textbox
for each ctrl in form.controls
..
..
..
next
in questo modo vengono scorsi solo gli oggetti textbox presenti sul form...
ad ogni modo il post iniziale non è chiarissimo.. perciò non si capisce il motivo per cui
deve scorrere i textbox come fossero un array e quindi non è possibile capire quale sia
la strada più corretta ed efficente..
Giamp72
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 !