Oppure

Loading
28/04/10 15:59
TheEngi
Ciao a tutti... sto cercando di creare un evento keypress in modo che se schiaccio per esempio f10, la pressione di quel tasto corrisponde ad una operazione... e ho provato con questo codice:

private void mainForm_KeyPress(object sender, KeyPressEventArgs e)
{
if (Keys.F10)
{
toolStripButton12.Pressed = true;
}

}

scusate la mia ignoranza ma non ho mai usato questo tipo di evento :D

Chi mi può aiutare???
Grazie in anitcipo!
aaa
28/04/10 16:31
NetProgrammer
Ciao TheEngi, sicuramente il codice non ti funziona perchè hai omesso il KeyEventArgs e il quale contiente il tasto premuto in quell'istante; mi spiego meglio nell'if tu devi fare così:
if(e.Keys.F10){ //...tuo codice...}

Prova così e vedi che ti funzionerà!
Ciao.
Ultima modifica effettuata da NetProgrammer 28/04/10 19:22
aaa
28/04/10 17:32
HeDo

1) Si chiama TheEngi e non TheJuster (che si arrabbierà molto :D)

2) Il codice che hai scritto non funziona

3) L'evento da intercettare è KeyUp, e il confronto da fare è e.KeyCode == Keys.F10
aaa
28/04/10 19:21
NetProgrammer
Lool...scusate..i 2 nomi sono così simili, comunque grazie per le correzzioni, però ti devo contraddire, è possibile intercettare il KeyPress e fare il confronto con e.keycode così:
if(e.KeyCode==Keys.F10){ //tuo code...}
alla fine la mia soluzione non era del tutto sbagliata però non avendo sotto mano visual studio non l'ho potuta testare.
@ TheEngi...scusa ancora ho corretto il post!!:D
Ultima modifica effettuata da NetProgrammer 28/04/10 19:23
aaa
29/04/10 14:58
TheEngi
Ciao NetProgrammer... non ti preoccupare... per il nome intendo...
Comunque io ho provato con il keypress event.. ma l'istruzione keycode non esiste...
Invece come diceva HeDo nel keyup posso fare: e.KeyCode == Keys.F10
ma le istruzioni non vengono eseguite vi posto il mio codice:
Dove ho sbagliato???

private void mainForm_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.F9)
{
//istruzione sotto forma di funzione
}
else if (e.KeyCode == Keys.F10)
{
//istruzione sotto forma di funzione
}
else if (e.KeyCode == Keys.F11)
{
//istruzione sotto forma di funzione
}
}
aaa
29/04/10 17:53
HeDo
probabilmente è la natura stessa dei tasti FXX che non solleva l'evento, molto strano cmq.
non so dire di più in merito, se non di provare con altri tasti per controllare se funziona, visto che è il metodo corretto.
aaa
29/04/10 18:24
Il Totem
Postato originariamente da NetProgrammer:

Lool...scusate..i 2 nomi sono così simili, comunque grazie per le correzzioni, però ti devo contraddire, è possibile intercettare il KeyPress e fare il confronto con e.keycode così:
if(e.KeyCode==Keys.F10){ //tuo code...}
alla fine la mia soluzione non era del tutto sbagliata però non avendo sotto mano visual studio non l'ho potuta testare.
@ TheEngi...scusa ancora ho corretto il post!!:D


Il tuo codice era sia sintatticamente che concettualmente errato. Primo perchè quel membro non esiste; secondo perchè stai confrontando una costante con il valore 0, il che non c'entra proprio nulla con il resto.


Ricordo che gli eventi KeyPress, KeyDown e KeyUp, su un controllo che non possa esplicitamente ricevere input, non vengono generati.
aaa
29/04/10 18:59
NetProgrammer
Grazie totem per la tua risposta, mi sono studiato gli eventi KeyPress e ho capito il mio errore,comunque grazie per avermelo fatto notare.
Ultima modifica effettuata da NetProgrammer 29/04/10 19:00
aaa