ho una serie di text e quando l'evento è setfocus vorrei che si colorassero e quando l'evento è gotfocus tornassero come prima
c'è un modo per scrivere il codice una sola volta e non ad ogni text?
tank you very much
kiss kiss Ringo
![]()
ho una serie di text e quando l'evento è setfocus vorrei che si colorassero e quando l'evento è gotfocus tornassero come prima
c'è un modo per scrivere il codice una sola volta e non ad ogni text?
tank you very much
kiss kiss Ringo
![]()
"Non cercare di piegare il cucchiaio ma cerca di fare la cosa più saggia.....
...pensa che il cucchiaio non esiste,allora vedrai che è la tua MENTE a piegarsi"
Colorare il testo o lo sfondo della text box?
lo sfondo della textbox
"Non cercare di piegare il cucchiaio ma cerca di fare la cosa più saggia.....
...pensa che il cucchiaio non esiste,allora vedrai che è la tua MENTE a piegarsi"
Le possibilità sono tre:
* crei un array di textbox (imposti cioè la proprietà Name e Index per ogni controllo TextBox)
* ti crei un textbox personalizzato, derivandolo dal Textbox standard
* fai un subclass del controllo, intercettando la WindowProc del controllo
La soluzione più semplice è la prima, ma comporta l'impossibilità di assegnare un nome diverso per ogni Textbox. Avrai quindi tanti anonimi Text1(indice), poco male.
La soluzione più potente è la seconda ma i problemi che sorgono non sono di facile soluzione. Occorre infatti incapsulare la TextBox originale dentro un UserControl, ma alcune proprietà di TextBox sono modificabili solo in design-mode (vedi per esempio la proprietà MultiLine) e le cose diventano assai complicate.
La terza soluzione è ancora più complicata, il subclass è un arte difficile e soluzioni imprecise portano spesso al blocco dell'applicazione.
Chi non cerca trova.
codice:Private Sub text1_GotFocus() text1.BackColor = vbRed End Sub Private Sub text1_LostFocus() text1.BackColor = vbWhite End Sub