Intercettare pressione tasti tastiera e mouse

mercoledì 08 giugno 2011 - 10.13
Tag Elenco Tags  C#  |  Windows 7  |  Visual Studio 2008

eddyG Profilo | Junior Member

Ciao a tutti!!!!
arriviamo subito al mio problema:
nella mia form ho un textbox a cui ho agganciato una listview che,nel momento in cui il testo presente nella textbox viene modificato,appare e permette di scegliere uno dei valori presenti al suo interno.
il mio problema è questo:
-per ora sono riuscito a gestire solo l'evento della pressione del tasto sinistro del mouse.
Io vorrei poter scegliere il valore anche tramite la pressione del tasto invio della tastiera..come posso fare se nella procedura (nomecontrollo_KeyUp) non ci entra nemmeno?

altra anomalia a cui non riesco dare una risposta plausibile è data dal fatto che alla pressione del tasta destro del mouse entra ancora nella procedura come se avessi premuto il tasto sinistro.....

Grazie

AntCiar Profilo | Expert

Ciao.

Vorrei chiederi prima una cosa: ma nella listview fai vedere i valori "singoli" da scegliere oppure nella listview fai vedere più colonne?

Nel caso di valore singolo, allora non complicarti la vita. Invece di usare la listview puoi benissimo utilizzare la funzione AutoComplete della textbox. Basta che all'apertura della form carichi nella proprietà AutocompleteSource della textbox tutti i possibili valori.

Nel caso di più colonne nella listview, allora puoi gestire l'evento ItemActivate della listView. all'interno dell'evento prendi il valore che ti serve nell'elemento di posizione 0 tra i selezionati. Questo è comodo perchè l'attivazione dell'item funziona sia con invio sia con il click del mouse.

Ciao

Cristian Barca

eddyG Profilo | Junior Member

Grazie per la risposta in tempi molto brevi!!!

dopo aver postato il thread ho fatto ulteriori ricerche e sono riuscito a trovare questo e.KeyCode == Keys.Enter che inserito come condizione di una IF,all'interno della procedura di KEYUP della listview era proprio quello che cercavo.

Grazie ancora
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