Jump to content
Sign in to follow this  
Primordius

executar comandos com tecla premida

Recommended Posts

Primordius

Boas noites,

Eu quero fazer o seguinte:

Clicar F1,F2,F3,F4, em qualquer janela, programa, em qqer lado, quero o programa a funcionar em background, e executar uma acção quando detecta essas teclas (a acção ja esta feita e a funcionar(testada através de um botão normal), eu li que a KeyUp, funciona mas eu não tenho a certeza sobre como implementar isso ou se o KeyUp serve apenas para um form do próprio programa.

Muito Obrigado :D Espero que me possam ajudar

Edited by Primordius

Share this post


Link to post
Share on other sites
pikax

podes criar um singleton para registar as forms que esta' 'a escuta e executar o que queres, depois fazes um override 'a funcao ProcessCmdKey e envias a key para o singleton com os delegates


public event  MyCmdKeyPressed CommandKeyPressed;

form1()//construtor
{
//...
 cRegister.Instance.RegisterCmdEvent(CommandKeyPressed);
}

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
 switch (keyData)
 {
  case Keys.F4:
  //etc...
  if(CommandKeyPressed!=null)
  CommandKeyPressed(this,KeyData);
  }
}

depois e' fazeres algo assim para as outras forms e verificares os eventos

Edited by pikax

Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.