Newsgroup: it.comp.lang.visual-basic
Titolo: [vb.net] array di oggetti

Salve,devo inserire un array bidimensionale (30,3) di textbox.
ovvero 90 textbox, 3 alla volta.
in vb6 con il copia e incolla di un text box ti chiedeva se volevi la
matrice.
come si fa, in 
vb.net
, in modalità progettazione, ad inserire i textbox
in una matrice !?!?!?
grazie

 ha scritto nel messaggio
news:zKzIb.222623$e6.87...@twister2.libero.it...

non puoi, non esistono più.....quello che puoi fare è far gestire con
un'unica sub/function gli eventi di più controlli. Cerca su msdn AddHandler
e vedrai che puoi ottenere lo stesso risultato.....
vai anche su 
groups.google.com
 e leggi i post vecchi, se ne è parlato....
good coding!!!
-- 
Alletun
Sorry, ask me if you want to get my e-mail!

Alletun wrote:

ciao.
approfitto della tua disponibilità... (innanzitutto grazie per la
pronta risposta)
voglio capire, prima di andare a studiare :) se quello che mi
suggerisci di fare è adatto al mio scopo.
si tratta di un programmino che va a pescare da web delle quotazioni di
borsa.
30 titoli, 3 textbox per ogni titolo: prezzo, volume, variazione
quindi un totale di 90 textbox. 
ho fatto il codice per andare a cercare nell'html i tre valori che mi
servono. ho bisogno che mi associ ad ogni prezzo, volume, variazione,
un titolo diverso.
ha trovato i primi tre valori ? bene, mettili nelle prime 3 textbox.
va avanti e ne trova altri tre: secondi tre textbox.
mi confermi la procedura !?
grazie

 ha scritto nel messaggio
news:zKzIb.222623$e6.87...@twister2.libero.it...

Se n'e' appena discusso in un post di ieri: " [.NET] matrici di controlli"
Ciao
--
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

Luca Dormio wrote:

eh, ho letto... ma non l'ho capito molto :)

 grazie
ciao, ti rispondo solo oggi perchè ieri ero prevalentemente in coma.
dunque, non mi sembra un metodo molto comodo. Cosa succede se i titoli oggi
sono 30 e domani diventano 60?
E' una follia, perchè avresti 3 * 30 = 90 controlli in più sul tuo form. No,
non va assolutamente bene.
Ti consiglio in questo caso di adottare una listview, oppure una griglia:
hai un controllo solo che visualizza in formato tabellare tutte le
informazioni che vuoi.
Con la listview (che conosco meglio) avresti 30 righe e 3 colonne. Le righe
le puoi aggiungere run-time in base a quello che ti serve.


Metiuz wrote:

il punto è che nel post che mi segnali, si parla di array di controlli.
io invece parlo di array di oggetti.
qualcosa tipo: dim tb(30) as string
tb(1)= textbox1
tb(2)=textbox2
etc...
semplicemente mi chiedevo: in vb6, con il copia e incolla dei textbox
ti chiedeva: vuoi creare una matrice ?
in 
vb.net
 no. come procedere !? 

Igor Damiani wrote:

questa è una soluzione ... mi mettero a studiare... :)
anche se i titoli sono e rimarranno 30, perchè li prendo dalla pagina
mib30 :)
in ogni modo, se dovessero cambiare la pagina... hai ragione..
aumentano e io manco me ne accorgo.
grazie ancora.. :)

 in 
vb.net
 no. come procedere !?
Eccoci al dunque: il copia & incolla di VB6 a cui ti riferisci serve appunto
a creare array *di controlli*, non di oggetti.
Incidentalmente i controlli sono anche oggetti sia in VB6 che in 
VB.NET
, ma
mentre in .NET le due definizioni possono essere quasi equivalenti, in VB6
no, perche' le matrici di controlli sono una cosa differente (non un reale
array bensi istanze di classi particolare che ti permettono di simulare un
array) rispetto alle matrici di oggetti
Per cui, credimi, la risposta e' proprio nel post che ti ho segnalato,
ovvero riassumendo:
- in .NET non puoi piu' fare questa operazione in design
- in .NET non serve piu' lo strano "accrocchio" che faceva VB6 perche'
esistono altre e piu' eleganti soluzioni, come spiegato.


Luca Dormio wrote:

grazie per la risposta (e la pazienza). è difficile a volte comprendere
cose anche semplici di cui senti parlare da poco :)
come dice biscardi... DENGHIU :)

 > il punto č che nel post che mi segnali, si parla di array di

andiamo passo passo (sto seguendo entrambe le strade, quella
consigliata da Igor Damiani e la tua, cosě prendo due piccioni con una
fava :) )
poniamo un esempio ,che in questo modo comprendo meglio.
in un form ho tre textbox
txt1, txt2 e txt3
nei quali voglio visualizzare le prime tre potenze del due :
alla pressione del button1:
 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        Dim a(3) As Integer
        Dim count As Integer
              count = 1
        For count = 1 To 3
            a(count) = 2 ^ count
            count = count + 1
        Next count
           End Sub
se dopo la dichiarazione count = count + 1 inserisco msgbox(a(count))
vedo che effettivamente fa i calcoli.
non riesco perň a visualizzare i tre risultati nei tre textbox.
come agire !?
grazie ancora :)