komi (Normal User)
Newbie
Messaggi: 19
Iscritto: 26/02/2009
|
ciao ragazzi
in 1 form ho 1 textbox1;
quando digito il testo, quest'ultimo viene inserito
anke in un textbox2 presente su un form2, con il seguente codice inserito nell'evento
change del textbox1:
Codice sorgente - presumibilmente VB.NET |
Private Sub Command1_Click() Form2.Show End Sub Private Sub Text1_Change() Form2.Text2.Text = Form1.Text1.Text End Sub
|
poi ho inserito il codice:
Codice sorgente - presumibilmente VB.NET |
Private Sub Text1_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 0 To 32 ' I tasti di controllo vanno bene. Case 48 To 57 ' Questa è una cifra Case Else ' Scarta tutti gli altri tasti. KeyAscii = 0 End Select End Sub
|
per inserire solo numeri nel textbox1;
digitando il testo in textbox1, vorrei disattivare il tasto backspace solo nel textbox2.
ho provato ad inserire il precedente codice, modificato per il backspace, nel evento keypress del textbox2
ma nn funziona, xke continua ad essere valido l'evento change del textbox1.
come devo modificare il codice?
grazie a tutti |
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
quello che mi viene al momento in mente è quello di fare così (non ho provato):
Codice sorgente - presumibilmente VB.NET |
dim prima as string, dim back_space as boolean private sub form_load() back_space = false end sub private sub Text1_Change() if back_space = false then text2.text = text1.text else text2.text = prima back_space = false end if prima = text1.text end sub Private Sub Text1_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 0 To 32 ' I tasti di controllo vanno bene. Case 48 To 57 ' Questa è una cifra case 'se è premuto il backspace back_space = true Case Else ' Scarta tutti gli altri tasti. KeyAscii = 0 End Select End Sub
|
questo è uno schizzo e te lo devi adattare... comunque se viene premuto due volte di fila il backspace penso non funzioni.... aggiustatelo tu...se hai problemi ti aiuterò
|
|
komi (Normal User)
Newbie
Messaggi: 19
Iscritto: 26/02/2009
|
grazie GrG per il tuo contributo,
ho provato il codice con le opportune modifiche,
ma nn funziona, almeno per la parte relativa al backspace;
tutto il resto funziona.
spero vorrai provare anke tu a modificare,
se nn sono stato chiaro sul mio prob. chiedi pure forse ti saro + chiaro dopo le tue domande.
ciao komi
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
dimmi comunque a che ti serve evitare il backspace nella text2...anche perchè se uno fa 2 volte backspace mettiamo che da così:
text1: ciaolol
text2: ciaolol
diventa:
text1: ciaol
text2: ciaolol
però se si preme tipo "a" diventa:
text1: ciaola
text2: ciaola
quindi sostanzialmente mi pare inutile...
p.s. non so se mi hai capito...
|
|
komi (Normal User)
Newbie
Messaggi: 19
Iscritto: 26/02/2009
|
ciao GrG
ho capito cosa vuoi dire;
ora ti spiego la mia necessità;
sto realizzando un prg. per compilare e stampare dei modelli prestampati,
come i bollettini postali o i moduli per la dichiarazione dei redditi;
quindi nei form ho inserito delle imagebox ke contengono le immagini di questi modelli;
in una zona1 di questi modelli è possibile inserire il testo senza alcuna limitazione, ad e.s. spostare il testo a piacere xkè ci sono solo righe prestampate;
in altre zone2 lo stesso testo deve essere inserito in caselle prestampate;
tutto avviene come nei bollettini postali.
se quindi uso il backspace nella zona1 il testo nella zona2 si sposta nelle caselle
successive lasciando bianche le precedenti.
spero ke in queste poke righe sono riuscito a spiegare la situazione.
forse puoi darmi suggerimenti diversi dalla mia impostazione del progetto.
grazie
ciao lemac
|
|
GrG (Member)
Guru^2
Messaggi: 3430
Iscritto: 21/08/2007
|
ok, ho fatto questo codice testato e funzionante... dimmi se è questo quello che volevi:
Codice sorgente - presumibilmente VB.NET |
Dim key_premuta As Integer Private Sub Text1_Change() If key_premuta <> 8 Then Text2.Text = Text1.Text End If End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 8 Then key_premuta = 8 Else key_premuta = 0 End If End Sub
|
chiaramente è un esempio, quindi te lo devi addatare.
|
|
komi (Normal User)
Newbie
Messaggi: 19
Iscritto: 26/02/2009
|
ciao GrG
ho provato il tuo codice, ma nn funziona per il mio scopo;
forse io sbaglio in qualche punto, forse nell'inserimento del codice al posto giusto,
nn so;
ho copiato così come hai scritto con le opportune modifiche dei nomi,
ma nn funziona;
ti allego una immagine che spero possa chiarirti la situazione
ciao e grazie
lemac
|
|
theprogrammer (Normal User)
Guru^2
Messaggi: 2509
Iscritto: 28/01/2009
|
Ma tu che intendi con backspace?
|
|
komi (Normal User)
Newbie
Messaggi: 19
Iscritto: 26/02/2009
|
salve
per backspace intendo il tasto della tastiera che ti fa
spostare verso destra il cursore ed il testo;
e.s.
c i a o
insomma il tasto + grande che si trova sulla tastiera
posto in basso tra i tasti alt e altgr.
|
|