Oppure

Loading
03/08/09 23:29
antometal
ok ora son sodisfatto
grazie ancora
aaa
03/08/09 23:31
antometal
e se volessi sapere quanti controlli ho creato?
aaa
03/08/09 23:31
ruggy94
Postato originariamente da antometal:
grazie ancora

Figurati ;)
aaa
03/08/09 23:33
ruggy94
Postato originariamente da antometal:

e se volessi sapere quanti controlli ho creato?

Sei tu a deciderlo...nel ciclo for, no?

For I = 1 to N

N è il numero di controlli, o ho capito male la richiesta?
aaa
03/08/09 23:42
antometal
si hai ragione, ma poi sarà l' utente a crearli
posso comunque risolvere con una variabile pubblica, se non cè una funzione o simili (in vb6: nomecontrollo.count)...

xò mi sta venendo in mente che senza index è + complicato gestire i singoli controlli
ad es in vb6 se volevo che ogni 5, un command avesse il backcolor nero facevo così
private sub command1_click(index as integer)
for i=0 to command1.count step 5
connad1(i).backcolor=0
next i


con .net come faccio?
aaa
03/08/09 23:54
ruggy94
Mi vengono in mente due possibili soluzioni. O quando crei i button e li aggiungi alla List (prima di metterli sul form) esegui il ciclo for che hai postato (gli elementi di una List sono accessibili tramite indice), oppure se questo non ti è possbile, e hai solo i controlli della form, aggiungili ad una Lista con un For Each iterato sugli elementi del form, e poi segui la prima procedura.
Anche se puoi fare in molti altri modi (non ti verrà proprio naturale proveniendo da vb6). Ad esempio puoi sfruttare i nomi dei buttons ("button1","button2";), in particolare puoi trattare il numero alla fine del nome come un indice. Per farlo, basta che ti crei una funzione, che richieda come parametro il numero scelto. All'interno della funzione dovrai scrivere una cosa del genere:
Function GetButton(Index as int16) as button
For Each B as Button in Form.Controls
If B.Name="button" & Index.tostring then
return B
End If
Next
End Function

Piccola precisazione...se utilizzi un For Each come ti ho scritto nella funzione, devi prestare attenzione ai controlli presenti sul form. Questo perchè scrivendo For each B as button, ogni qualvolta che il ciclo incontrerà un controllo che non sia un button, proverà ad effettuare il cast (cioè a convertirlo in un button) e questo ti genererà probabilmente un errore. Se dovessi avere controlli diversi da button nel form, dovresti modificare il for each in questo modo:
For Each C as control in form.controls
If Typeof(C) Is button then
...
End If

In questo modo, ogni volta che il for each incontrerà un controllo nel form, controllerà se è un button o meno, e svolgerà il suo compito solo nel primo caso, altrimenti passerà al controllo successivo :k:
Come al solito dimmi se non hai capito qualcosa :D
aaa
03/08/09 23:59
antometal
ti ringrazio, proverò domani(oggi) e ti dirò

son contento di sapere che alle 02:00 cè qualcuno disposto ad aiutarmi:D
aaa
04/08/09 0:02
ruggy94
Postato originariamente da antometal:
son contento di sapere che alle 02:00 cè qualcuno disposto ad aiutarmi:D

Qualcuno? Visto il mio sonno direi "qualcosa" :rotfl: comunque male che vada domani (oggi) mattina risponderò alle eventuali domande che avrai postato durante il mio letargo :D
aaa