Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [WPF] evento keypress

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    669

    [WPF] evento keypress

    ciao a tutti!

    ho fatto questa bellissima scoperta che in wpf le textbox non supoportano l'evento keypress.

    ho notato che per sapere quale pulsante ha premuto l'utente è possibile utilizzare i vari eventi keyup, keydown, textinput.

    il problema è che io ho bisogno di sapere il carattere digitato ma allo stesso tempo ho bisogno anche di poterlo cambiare o addirittura annullare.

    per esempio vorrei intercettare l'immissione di un punto e trasformarlo in virgola oppure se si inserisce una lettera annullare l'immissione perche' la textbox è solo numerica.

    qualcuno di voi ha un idea?

    ciao

  2. #2
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    puoi usare nell'evento keyDown la proprietà suppressKeyPress dell'oggetto evento e

    es:

    codice:
    private void textBox1_keyDown(object sender, KeyEventArgs e)
    {
       if(e.KeyCode == KeyCode.Alt)//non voglio premere alt
       {
          e.SupressKeyPress = true;  //l'alt viene soppresso
          testBox1.Text += "ALT";  //scrivo quello che mi va
       }
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    669
    grazie per la dritta del suppresskeypress.
    E' perfetta per uno dei miei scopi.

    e' l'utilizzo del textbox.text += che non è il massimo.
    Perche' potrebbe essere che prima di digitare l'utente abbia selezionato una parte del testo oppure abbia spostato il cursore in un punto del testo che non corrisponde alla fine.

    non c'e' proprio modo di modificare il carattere inserito?

    grazie ciao

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    certo che si può

    codice:
    e.KeyChar = 'a' //mette 'a' al posto del carattere inserito

  5. #5
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,537
    edit : è meglio eliminare cio' che ho scritto per evitare confusione ai posteri

  6. #6
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,537
    edit : è meglio eliminare cio' che ho scritto per evitare confusione ai posteri

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    669
    scusami Stoicenko, ma i tuoi consigli sono riuscito solo adesso a testarli e purtroppo non funzionano.

    io sto utilizzando i controlli di wpf (i windows.controls) non di windows.forms.

    l'oggetto e.keychar non esiste, esiste e.key ed è di sola lettura.

    e anche la proprieta' e.SupressKeyPress non esiste.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.