Oppure

Loading
28/11/07 16:38
Manuel2
Salve a tutti,
vorrei far in modo che ogni volta che sposto il focus su ogni textbox di una form queste cambino colore di sfondo.
Di per sè, come problema, non è di difficile soluzione. Basterebbe usare le sub GotFocus e LostFocus della textbox, ma se in una form ho 20 textbox??? Devo mettermi a scrivere 40 sub? o c'è un altro modo?
aaa
28/11/07 16:52
antometal
allora devi creare un vettore di textbox e le sub le usi così:

private sub text1_GotFocus(Index as integer)
text1(index).backcolor=colore
end sub

così anche per il lost focus
aaa
28/11/07 17:00
Manuel2
ecco, mi hai anticipato.
Stavo appunto per dire che non ho un vettore di textbox 8-|
aaa
28/11/07 18:10
antometal
nel senso che nn vuoi usare un vettore o che nn puoi
aaa
28/11/07 18:36
Manuel2
Nel senso che la form è ormai già fatta e non utilizza il vettore di textbox
aaa
28/11/07 19:00
gius
Prova un bel ciclo for

Dim I As Integer
For I = 1 To 20
private sub text & I &_GotFocus(Index as integer) 
text & I &(index).backcolor=colore 
end sub
'fai anche il lostfocus
Next I


P.S.nn so se funziona
Ultima modifica effettuata da gius 28/11/07 19:06
aaa
28/11/07 19:34
P4p3r0g4
non puo funzionare così.
scusa non ho tempo di postarti la soluzione.
te la posto domani.
cmq ho 3 idee.
1)prova a usare i me.control
2)associare variabili
3)ricavare le coordinate del mouse e verificare l'oggetto corrispondente a quel punto. poi modifico direttamente il colore di quell'oggetto.
Ultima modifica effettuata da P4p3r0g4 28/11/07 20:09
aaa
28/11/07 20:15
antometal
pui creare una sub...

private sub Colora(TEXT as textbox, colore as long)
text1.backcolor=vbwhite
text2.backcolor=vbwhite
text3.backcolor=vbwhite
text4.backcolor=vbwhite
text5.backcolor=vbwhite
....................... tutte le altre
TEXT.backcolor=colore
end sub

questo lo metti nel focus e colora tutti di bianco poi alla fine la text che hai messo tu la colora del colore che vuoi
aaa