Oppure

Loading
23/03/09 14:25
komi
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:

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:


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
aaa
23/03/09 17:56
GrG
quello che mi viene al momento in mente è quello di fare così (non ho provato):
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ò
aaa
23/03/09 21:00
komi
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
aaa
23/03/09 21:27
GrG
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...
aaa
24/03/09 9:10
komi
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
aaa
24/03/09 14:21
GrG
ok, ho fatto questo codice testato e funzionante... dimmi se è questo quello che volevi:
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.
aaa
24/03/09 20:32
komi
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
aaa
24/03/09 20:34
theprogrammer
Ma tu che intendi con backspace?
aaa