Uluquiorra
Messages postés2Date d'inscriptiondimanche 26 août 2012StatutMembreDernière intervention26 août 2012
-
10 févr. 2010 à 15:38
Uluquiorra
Messages postés2Date d'inscriptiondimanche 26 août 2012StatutMembreDernière intervention26 août 2012
-
11 févr. 2010 à 08:56
J'ai le code suivant pour détecter la combi de touche CTRL + Y
if (e.KeyCode.Equals(Keys.ControlKey & Keys.Y))
{
ActiverModuleSysteme();
}
et ça ne marche pas, existe t'il une syntaxe pour cette action ou faut t'il enregistrer quelle touche on appuie au KeysDown et quelle touche on relâche au KeyPress (relativement lourd je trouve) :
namespace TestCombiKeys
{
public partial class Form1 : Form
{
public bool ctrlAppuyee = false;
public Form1()
{
InitializeComponent();
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode.Equals(Keys.ControlKey))
{
ctrlAppuyee = true;
}
if (e.KeyCode.Equals(Keys.Y) && ctrlAppuyee)
{
MessageBox.Show("ok");
ctrlAppuyee = false;
}
}
private void Form1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode.Equals(Keys.ControlKey))
{
ctrlAppuyee = false;
}
}
}
}
krimog
Messages postés1860Date d'inscriptionlundi 28 novembre 2005StatutMembreDernière intervention14 février 201549 10 févr. 2010 à 17:25
Salut.
Pour les combinaisons de touches avec CTRL, Alt ou Shift, tu peux utiliser tout simplement la propriété e.Control, e.Shift ou e.Alt, qui est un booléen.
Donc
if (e.Control && e.KeyCode == Keys.Y) //...
Krimog : while (!(succeed = try())) ; - Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -