none
Intercettare pressione 3 tasti RRS feed

  • Domanda

  • Salve a tutti.

    È possibile intercettare3 tasti in una WinForm? Fino a 2 tasti sono riuscito ma con 3 non sembra funzionare.

    Ho provato in questo modo:

    void Evento_KeyDown(object sender, KeyEventArgs e)
        {
          if (e.Control && e.KeyCode == Keys.E && e.KeyCode == Keys.M) //intercetta la combinazione CTRL+E+M
          {
            MessageBox.Show("OK");
          }
        }
    

    martedì 5 ottobre 2010 08:32

Risposte

  • Ciao Simone,

    un metodo, non proprio elegante, che mi viene in mente è questo :

     void Form1_KeyDown(object sender, KeyEventArgs e)
      {
       if (e.KeyCode == Keys.E)
       {
        uno = 1;
       }
       if (e.KeyCode == Keys.M)
       {
        due = 1;
       }
       if (e.KeyCode == Keys.S)
       {
        tre = 1;
       }
       
       if (uno == 1 && due == 1 && tre == 1 )
       {
        MessageBox.Show("EMS");
       }
      }
    
      void Form1_KeyUp(object sender, KeyEventArgs e)
      {
       uno = 0;
       due = 0;
       tre = 0;
      }
    

    Ciao


    Renato Marzaro MVP Visual Basic http://community.visual-basic.it/renato
    martedì 5 ottobre 2010 09:22

Tutte le risposte

  • Ciao Simone,

    un metodo, non proprio elegante, che mi viene in mente è questo :

     void Form1_KeyDown(object sender, KeyEventArgs e)
      {
       if (e.KeyCode == Keys.E)
       {
        uno = 1;
       }
       if (e.KeyCode == Keys.M)
       {
        due = 1;
       }
       if (e.KeyCode == Keys.S)
       {
        tre = 1;
       }
       
       if (uno == 1 && due == 1 && tre == 1 )
       {
        MessageBox.Show("EMS");
       }
      }
    
      void Form1_KeyUp(object sender, KeyEventArgs e)
      {
       uno = 0;
       due = 0;
       tre = 0;
      }
    

    Ciao


    Renato Marzaro MVP Visual Basic http://community.visual-basic.it/renato
    martedì 5 ottobre 2010 09:22
  • Perfettamente funzionante.Grazie mille.
    venerdì 8 ottobre 2010 06:10