|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Member
Iscritto dal: Aug 2007
Città: Roma
Messaggi: 70
|
[Visual Basic] Codice alternativo - URGENTE!!
Dovrei creare un programma con 100 bottoni diversi che incrementano un numero in ognuna delle 100 text box
Quote:
Ultima modifica di Dreamer4135 : 31-10-2007 alle 19:43. Motivo: mi serve urgentemente!!! |
|
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
1. metti un pulsante sul form che si chiamerà text1.text 2. premi tasto destro del mouse sulla textbox e seleziona "copia" 3. premi di nuovo tasto destro del mouse e seleziona per incolla ti verrà richiesto che il controllo già esiste vuoi creare una matrice di controlli? a questo punto premi "SI" il controllo ora si chiamerà text1(0).text ora fai i 3 step sopra e arriva a incollare 100 textbox in cui ognuna ha il suo indice esempiio: avrai text1(0).text text1(1).text ... fino a text1(100).text e così hai risolto!! ciao Edit: puoi usare i 100 textbox in un ciclo for tipo: for i=0 to 100 text1(i).text="ciao da okay" next i e tanto altre cose |
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Aug 2007
Città: Roma
Messaggi: 70
|
grazie mille, provo subito, credo che tu mi abbia appena risparmiato ore di copia, incolla e modifica
Grazie a tutti quelli del forum in generale, senza di voi starei messo male |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Aug 2007
Città: Roma
Messaggi: 70
|
piccolo problema, mi sono dimenticato di dire che uso visual basic 2005 (non mi da questa matrice di controlli)
altre soluzioni?? |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Quote:
come no, non stò in postazione, ma la tecnica è simile metti una textbox sul form e poi crei una matrice del controllo |
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Aug 2007
Città: Roma
Messaggi: 70
|
se faccio copia e incolla non mi dice niente!
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
senti non sto in postazione + tardi molto + tardi ti posto come fare.
da quello che scrivi non capisco se hai eseguito i 3 step sopra. per vb net dovrebbe essere simile Edit: Quando il controllo textbox stà sul form il pulsante deve avere il focos ovvero devi cliccarci sopra dandogli il focus. poi clicchil tasto destro del mouse e ti si apre un popup dove scegli "copia" poi ancora tasto destro e scegli incolla. oppure, sempre con il focus sul pulsante premi contemporaneamente "ctrl+c" e poi "ctrl+v" Ultima modifica di okay : 31-10-2007 alle 20:21. |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Feb 2002
Messaggi: 906
|
Allora ho provato e in vb NET non esiste un controllo dove puoi creare una matrice come in vb6!!!!!
Effettivamente, se i controlli sono già sul form, esisterebbe anche un altro modo... sfruttare la parola chiave "Handles", che, in pratica, indica a quale evento reagisce la procedura di evento scritta, una cosa del tipo codice:Private Sub procedura_evento_click(ByVal sender As......) Handles casellaTesto.Click Se ad esempio vuoi che questa procedura reagisca all'evento Click delle due textbox t1 e t2, si può scrivere codice:Private Sub procedura_evento_click(ByVal sender As......) Handles t1.Click, t2.Click Oppure, se le textbox sono state generate dinamicamente, puoi assegnare loro la stessa procedura di evento con un ciclo del tipo (ad esempio per il doppio clic) codice:For Each ctrl As Control In Me.Controls If TypeOf ctrl Is TextBox Then AddHandler ctrl.DoubleClick, New EventHandler(AddressOf ProcDoppioClick) End If Next in cui ProcDoppioClick è la procedura di evento comune. Per ottenere il controllo che ha scatenato l'evento basta usare (se ad esempio è una TextBox) basta convertire il sender con CType(sender, TextBox). In definitiva come in vb6 non si può + fare. altra alternativa: supponi di avere 5 Labels e un button nella tua finestra, un modo per gestire una matrice di controlli può essere questo: Dim MioControllo As Control For Each MioControllo In Controls If MioControllo.TabIndex = 3 Then MioControllo.Text = "Topolino" Else MioControllo.Text = "Pippo" End If Next Nel codice si definisce la variabile MioControllo come appartenente all'insieme Control, e attraverso un ciclo For Each...Next scorri l'elenco di tutti i controlli appartenenti al tuo form. Sottolineo TUTTI, anche eventuali Button, TextBox o quant'altro sia presente nella finestra e che sia un controllo. Puoi modificare alcuni dei controlli presenti facendo riferimento alla proprietà TabIndex Se le Labels hanno indice da 0 a 4 e il button ha indice 5, dopo il ciclo, la proprietà text di ogni controllo sarà "Pippo" tranne che per la label di indice 3 che avrà la suddetta proprietà impostata a "Topolino" ciao |
|
|
|
|
|
#9 |
|
Member
Iscritto dal: Aug 2007
Città: Roma
Messaggi: 70
|
grazie, provo subito a fare come hai detto
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:05.




















