Simulare tastiera su win form

martedì 11 settembre 2012 - 13.03
Tag Elenco Tags  VB.NET  |  .NET 3.5

ridaria Profilo | Expert

Ciao a tutti.

Devo creare una interfaccia per un touch screen per la gestine della cassa di un supermercato.

Il problema con cui mi trovo adesso è il seguente:

la pressione di un tasto del form mi deve inserire un numero in una cella di una GridView.
Attualmente questo lo faccio ma con la tastiera vera, la griglia ha la proprietà edit mode impostata a editOnKeyStroke. Quindi se schiaccio uno (1) sulla tastiera, nella cella della griglia mi scrive 1.

Ma se tento di fare ciò da un tastierino creato con dei pulsanti sul Form, accade cha alla pressione del pulsante la griglia perde il Focus e nella cella non scrive un bel niente.

Come si Fa?????


Grazie a tutti


Riccardo D'Aria

Vinsent Profilo | Senior Member

Potresti fare così:
Al clic (o tap....) della cella imposti due variabili con il numero della colonna e della riga.
Al clic sul button(tastierino) richiami una sub (chiamiamola Scrivi) passando come argomento il carattere assegnato al button.
Nella Sub "Scrivi" metti il codice per aggiungere alla cella, identificata dalle variabili, il carattere del button.
Penso dovrebbe andar bene....

ridaria Profilo | Expert

grazie per l'attenzione ma a questo ci avevo già pensato.


Io sto pensando a qualcosa di nativo che renda la vera e propria pressione dei tasti.

O qualcosa di nativo che non faccia perdere il focus al controllo quando viene cliccato un button.

GRazie comunque
Riccardo D'Aria

Vinsent Profilo | Senior Member

Allora non saprei dirti...l' unica cosa che mi viene in mente sono dei "custom button" con una funzione che intercetta i "messaggi" e ne fa l' overides, se il "messaggio" che invia il button è il clic, con conseguente focus, la funzione ritorna un sendkeys per simulare il tasto e blocca il "messaggio clic", in questo modo si simulerebbe la pressione di un tasto e si bloccherebbe il clic con conseguente presa del focus....non so se ho spiegato bene il concetto...
Credo non sia molto "nativo" ma se ti serve un' esempio chiedi pure.
ciao
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5