Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Click indesiderato
lunedì 19 marzo 2007 - 19.06
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Carlik
Profilo
| Junior Member
158
messaggi | Data Invio:
lun 19 mar 2007 - 19:06
Salve,
ho un form sul quale è abilitato il keypress da tastiera(proprietà KeyPreview = True).
Quando clicco un pulsante sul mio form,il focus rimane su tale pulsante.
Se successivamente premo invio,è come se io premessi nuovamente quel pulsante(questo per me è un effetto indesiderato).
Ho provato ad assegnare il focus ad altri elementi ma non funziona.
Come fare per distinguere i due eventi?
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mer 21 mar 2007 - 09:52
Con il keypreview = true puoi intercettare il tasto invio, ad esempio nell'evento keypress, se non ricordo male. Il keypreview serve principalmente a permettere la gestione delle pressioni dei tasti prima che arrivino ai controlli del form.
Tu come usi il keypreview?
Carlik
Profilo
| Junior Member
158
messaggi | Data Invio:
mer 21 mar 2007 - 12:53
>Con il keypreview = true puoi intercettare il tasto invio, ad
>esempio nell'evento keypress, se non ricordo male. Il keypreview
>serve principalmente a permettere la gestione delle pressioni
>dei tasti prima che arrivino ai controlli del form.
>Tu come usi il keypreview?
Grazie prima di tutto ...
Ovviamente metto KeyPreview = true, e in effetti nella keypress, se il focus non è su un pulsante, riesco a gestire la pressione di invio.Il problema si pone quando il focus è su un pulsante..Infatti keypress non intercetta l'invio, che va direttamente a scatenare il click sul pulsante....
Per ora ho risolto con un trucco squallido(dopo il click su un pulsante richiamo la select di una textbox nascosta),ma non vorrei ci fossero effetti indesiderati....
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
mer 21 mar 2007 - 15:37
Mah...veramente dovresti poterlo intercettare!
E ovviamente cancellarlo con l'istruzione apposita, che, vado a memoria, dovrebbe essere:
e.handled=true
che dovrebbe segnalare l'avvenuta gestione dell'evento e il conseguente annullamento delle procedure che altrimenti esso scatenerebbe, come il click sul pulsante.
Carlik
Profilo
| Junior Member
158
messaggi | Data Invio:
ven 23 mar 2007 - 18:45
Boh,non lo intercetta.ANch'io mi rendo conto ke hai ragione quando dici che dovrei poterlo intercettare,ma fatto sta che non lo intercetta...Boh
Grazie comunque
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
ven 23 mar 2007 - 19:32
Ma non è che per caso hai quel pulsante definito coma AcceptButton del form e il form per l'appunto è visualizzato con showdialog?
Torna su
Stanze Forum
Elenco Threads
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 !