Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [vb.net] consiglio su rilevamento tasto premuto

    vorrei inserire in una label il tasto che viene premuto, in maniera chiara e comprensibile all' utente

    nessun problema a catturare il codice del tasto, più problematico visualizzarne il valore

    la cosa più bella e semplice sarebbe un codice del tipo

    label.text = e.keycode.tostring

    che in effetti per moltissimi tasti ha un senso... purtroppo la maggior parte del senso vale per un inglese

    cioè se premo "a" visualizza "A": benissimo, non mi serve sapere se è mauiscolo o minuscolo
    se premo "6" del tastierino visualizza "NUMPAD6"... perfetto
    se premo "6" della tastiera visualizza "D6", che è già peggio
    se premo "PagGiù" ricevo un "DOWN" che già per un italiano vuol dire poco
    se premo "è" visualizza "Oem1".. e qui non ci siamo più del tutto.

    Usare Chr(e.keycode) andrebbe meglio per i tasti letterali, ma con altri darebbe problemi, tipo che dà "6" sia per la tastiera che per il tastierino.

    Insomma, sembra che la via d' uscita sia controllare il codice tasto per tasto e dargli un valore in conseguenza... ma che tastiera usa l' utilizzatore? Cosa c' è scritto sul tasto della sua tastiera? Dovrei andare a verificare anche quello, chissà come...

    Insomma, alla fine sel discorso magari che una framework che fa già tutto quello che mi serve ed io mi lambicco per nulla... o no?

    Cioè in definitiva servirebbe una framework che a seconda del tasto premuto mi ritorni il testo di quel tasto, a seconda della lingua del OS... cioè se un italiano preme "à" dovrebbe ricevere "à" o "#" e non "Oem7" che non vuol dire nulla.

    In second' ordine un qualcosa che, rilevata la pressione di Oem7, mi dica che cosa c' è scritto su quel tasto a seconda della tastiera che ha l' utente, sempre che la cosa si possa rilevare.

    ty

  2. #2
    Innanzitutto opterei per l'utilizzo di e.KeyValue in quanto permette di distinguere i numeri del tastierino (da 97 in poi) dagli altri (da 49).
    Per conoscere il tipo di tastiera (ma ovviamente non la lingua utilizzata) puoi usare la funzione API GetKeyboardType: la documentazione MSDN la trovi qui http://msdn.microsoft.com/en-us/libr...36(VS.85).aspx; se inserisci come argomento 0 ricaverai un numero intero che identifica un tipo specifico di tastiera, per esempio 1,3,4 corrispondono a keyboard IBM , 5 Nokia ecc.


    Ciao

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.