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
.NET Framework
MouseMove - Pressione di più tasti
sabato 29 novembre 2008 - 15.50
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
tizio90
Profilo
| Newbie
25
messaggi | Data Invio:
sab 29 nov 2008 - 15:50
Come faccio a verificare, nel momento in cui viene generato l'evento MouseMove, se l'utente sta premendo due o più tasti del mouse contemporaneamente? Grazie in anticipo per le risposte!
schifidus
Profilo
| Junior Member
92
messaggi | Data Invio:
sab 29 nov 2008 - 18:49
nel handler del metodo Mouse_Move devi solo verificare la proprietà Button della classe MouseEventArgs a cui hai accesso attraverso l'istanza e.
La classe in oggetto ti permette di verificare quale bottone è premuto.
Questo piccolo snippet code ti potrà essere d'aiuto
void Form1_MouseMove(object sender, MouseEventArgs e)
{
switch(e.Button)
{
case MouseButtons.Left:
break;
case MouseButtons.Right:
break;
case MouseButtons.Middle:
break;
case MouseButtons.None:
break;
}
}
Ciao.
Marco Farina
MCTS .NET Framework 2.0 Web Applications
MCPD Web Applications
tizio90
Profilo
| Newbie
25
messaggi | Data Invio:
sab 29 nov 2008 - 19:29
Grazie lo stesso, ma questo l'ho gia fatto. Il problema è quando provo a premere 2 tasti del mouse contemporaneamente.
MouseButtons.Left
MouseButtons.Right
Se premo left e right insieme, entrambi risulteranno non premuti!!!
aiedail92
Profilo
| Expert
993
messaggi | Data Invio:
sab 29 nov 2008 - 20:11
Ciao
Devi verificare la combinazione usando l'operatore Or:
if (e.Button == (MouseButtons.Left | MouseButtons.Right)) { }
Luca
schifidus
Profilo
| Junior Member
92
messaggi | Data Invio:
sab 29 nov 2008 - 20:16
E' sufficiente che metti un default nello switch. se non hai premuto nulla entrerà in questo case.
Ecco il codice.
void Form1_MouseMove(object sender, MouseEventArgs e)
{
switch(e.Button)
{
case MouseButtons.Left:
break;
case MouseButtons.Right:
break;
case MouseButtons.Middle:
break;
case MouseButtons.None:
break;
default:
// se hai premuto tutti e due i tasti ti entrerà qui
break;
}
}
Ciao Marco.
Marco Farina
MCTS .NET Framework 2.0 Web Applications
MCPD Web Applications
tizio90
Profilo
| Newbie
25
messaggi | Data Invio:
sab 6 dic 2008 - 18:07
>aiedail92 wrote:
>
>Ciao
>
>Devi verificare la combinazione usando l'operatore Or:
>
>if (e.Button == (MouseButtons.Left | MouseButtons.Right))
>{
>}
>
>Luca
Grazie, funziona!
aiedail92
Profilo
| Expert
993
messaggi | Data Invio:
sab 6 dic 2008 - 18:11
Probabilmente non hai scritto bene le parentesi: devi raggruppare l'operatore or ai due MouseButtons, e poi confrontarli con la proprietà Button di e, così:
if (e.Button == (MouseButtons.Left | MouseButtons.Right)) { }
Luca
tizio90
Profilo
| Newbie
25
messaggi | Data Invio:
sab 6 dic 2008 - 18:13
>Probabilmente non hai scritto bene le parentesi: devi raggruppare
>l'operatore or ai due MouseButtons, e poi confrontarli con la
>proprietà Button di e, così:
>
>if (e.Button == (MouseButtons.Left | MouseButtons.Right))
>{
>}
>
>Luca
Si, hai ragione, me ne sono accorto subito dopo aver postato, infatti ho modificato il messaggio precedente.
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 !