Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    txt_dataInizioContratto_KeyUp

    Come faccio a impedire l'utente di cancellare o tornare indietro all'interno di una textbox?
    Tony

  2. #2
    codice:
        Private Sub txt_dataInizioContratto_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txt_dataInizioContratto.KeyDown
            e.Handled = (e.KeyData = Keys.Back) Or (e.KeyData = Keys.Left) Or (e.KeyData = Keys.Delete) Or (e.KeyData = Keys.Home) 'ed eventuali altri tasti "scottanti"
        End Sub
    Con VB.NET 2003 ho riscontrato tuttavia un problema con questa soluzione: sembrerebbe che se il tasto premuto è backspace VB.NET ignori la proprietà Handled e proceda comunque con la cancellazione del carattere.
    Una possibile soluzione, che ha anche il vantaggio di mostrare graficamente che l'azione è da considerarsi vietata, può essere questa:
    codice:
        Private Sub txt_dataInizioContratto_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txt_dataInizioContratto.KeyDown
            e.Handled = (e.KeyData = Keys.Back) Or (e.KeyData = Keys.Left) Or (e.KeyData = Keys.Delete) Or (e.KeyData = Keys.Home) 'ed eventuali altri tasti "scottanti"
            DirectCast(sender, TextBox).ReadOnly = e.Handled
        End Sub
    
        Private Sub txt_dataInizioContratto_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles txt_dataInizioContratto.KeyUp
            DirectCast(sender, TextBox).ReadOnly = False
        End Sub
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    Grazie 1000..

    Ciao
    Tony

  4. #4
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    ps. dimenticavo:

    Come faccio ad evitare che l'utenga tenga un tasto sempre premuto?

    sbaglio o si tratta dell' evento keypress?

    L'utente quando preme deve inserire solo un carattere anche se lascia premuto..

    Se avete la soluzioni fatemi sapere
    Tony

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.