Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - disabilitare backspace key vb6
Forum - Visual Basic 6 - disabilitare backspace key vb6

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
komi (Normal User)
Newbie


Messaggi: 19
Iscritto: 26/02/2009

Segnala al moderatore
Postato alle 15:25
Lunedì, 23/03/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

  1. Private Sub Command1_Click()
  2. Form2.Show
  3. End Sub
  4.  
  5. Private Sub Text1_Change()
  6. Form2.Text2.Text = Form1.Text1.Text
  7. End Sub



poi ho inserito il codice:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Text1_KeyPress(KeyAscii As Integer)
  2. Select Case KeyAscii
  3. Case 0 To 32 ' I tasti di controllo vanno bene.
  4. Case 48 To 57 ' Questa è una cifra
  5. Case Else ' Scarta tutti gli altri tasti.
  6. KeyAscii = 0
  7. End Select
  8. 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

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 18:56
Lunedì, 23/03/2009
quello che mi viene al momento in mente è quello di fare così (non ho provato):
Codice sorgente - presumibilmente VB.NET

  1. dim prima as string, dim back_space as boolean
  2. private sub form_load()
  3. back_space = false
  4. end sub
  5.  
  6. private sub Text1_Change()
  7. if back_space = false then
  8. text2.text = text1.text
  9. else
  10. text2.text = prima
  11. back_space = false
  12. end if
  13. prima = text1.text
  14. end sub
  15.  
  16. Private Sub Text1_KeyPress(KeyAscii As Integer)
  17. Select Case KeyAscii
  18. Case 0 To 32 ' I tasti di controllo vanno bene.
  19. Case 48 To 57 ' Questa è una cifra
  20. case 'se è premuto il backspace
  21. back_space = true
  22. Case Else ' Scarta tutti gli altri tasti.
  23. KeyAscii = 0
  24. End Select
  25. 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ò

PM Quote
Avatar
komi (Normal User)
Newbie


Messaggi: 19
Iscritto: 26/02/2009

Segnala al moderatore
Postato alle 22:00
Lunedì, 23/03/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

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 22:27
Lunedì, 23/03/2009
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...

PM Quote
Avatar
komi (Normal User)
Newbie


Messaggi: 19
Iscritto: 26/02/2009

Segnala al moderatore
Postato alle 10:10
Martedì, 24/03/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

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 15:21
Martedì, 24/03/2009
ok, ho fatto questo codice testato e funzionante... dimmi se è questo quello che volevi:
Codice sorgente - presumibilmente VB.NET

  1. Dim key_premuta As Integer
  2.  
  3. Private Sub Text1_Change()
  4. If key_premuta <> 8 Then
  5. Text2.Text = Text1.Text
  6. End If
  7. End Sub
  8.  
  9. Private Sub Text1_KeyPress(KeyAscii As Integer)
  10. If KeyAscii = 8 Then
  11. key_premuta = 8
  12. Else
  13. key_premuta = 0
  14. End If
  15. End Sub


chiaramente è un esempio, quindi te lo devi addatare.

PM Quote
Avatar
komi (Normal User)
Newbie


Messaggi: 19
Iscritto: 26/02/2009

Segnala al moderatore
Postato alle 21:32
Martedì, 24/03/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


komi ha allegato un file: PROGETTO004.gif (14972 bytes)
Clicca qui per guardare l'immagine
PM Quote
Avatar
theprogrammer (Normal User)
Guru^2


Messaggi: 2509
Iscritto: 28/01/2009

Segnala al moderatore
Postato alle 21:34
Martedì, 24/03/2009
Ma tu che intendi con backspace?

PM Quote
Avatar
komi (Normal User)
Newbie


Messaggi: 19
Iscritto: 26/02/2009

Segnala al moderatore
Postato alle 9:32
Mercoledì, 25/03/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.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo