Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1740 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Thread et Evenement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Thread et Evenement

n°1653724
korben31
Posté le 06-12-2007 à 12:27:46  profilanswer
 

Salut a tous,
Je vous explique,
J'ai une application qui sert a faire des racourci clavier,
J'ai donc un thread et mon evenement
Le truk c'est que je met mon thread en sleep et donc du coup levenement reveil pas le thread
Et je sais pas comment faire...

Code :
  1. init_thread()
  2. {
  3.             ecoute.Enabled = true;
  4. // abonnement a mon evenement ?
  5.             ecoute.KeyDown += new EventHandler<KeyEventArgs>(even_KeyDown);
  6. // Mise en attente
  7.             this.attente();
  8. }
  9. private void attente()
  10.         {
  11.             while (Thread.CurrentThread.IsAlive)
  12.             {
  13.                 Thread.Sleep(1000);
  14.                
  15.             }
  16.         }
  17. private void even_KeyDown(mes arguments)
  18. {
  19. /*
  20. ...
  21. */
  22. }

mood
Publicité
Posté le 06-12-2007 à 12:27:46  profilanswer
 

n°1653781
moi23372
Posté le 06-12-2007 à 13:24:20  profilanswer
 

la question, c'est pourquoi tu as besoin d'un Thread?
J'en voix pas l'interet.

n°1655250
korben31
Posté le 09-12-2007 à 14:03:10  profilanswer
 

comment tu veux faire alors ?
faut mettre mon truk en attente pour qu'il attende les evenements

n°1655332
moi23372
Posté le 09-12-2007 à 16:48:07  profilanswer
 

c'est la que tu n'as rien compris...
 
Dans une application, tu lances un Event depuis ton code. Tout les listener qui se seront lié à cet event recevront la demande d'event. Donc je vois pas en quoi tu as besoin de mettre un thread en attente. ça n'a aucun sens.  
Les events, comme les delegates, ça fonctionne de façon assynchrone.

n°1655339
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 09-12-2007 à 17:18:17  profilanswer
 

korben31 a écrit :

comment tu veux faire alors ?
faut mettre mon truk en attente pour qu'il attende les evenements


passe par un hook global, c'est la méthode à adopter pour ce genre de truc
http://www.codeproject.com/KB/syst [...] mhook.aspx

n°1656190
korben31
Posté le 11-12-2007 à 00:20:24  profilanswer
 

ah tu ve dire que je lance labonnement et je blok mon appli ... je suis un pe perdu

n°1656209
bapho13
Usager usant
Posté le 11-12-2007 à 06:59:54  profilanswer
 

korben31 a écrit :

ah tu ve dire que je lance labonnement et je blok mon appli ... je suis un pe perdu


 
Le principe de ce genre de truc est justemet d'éviter de bloquer l'appli.  
J'ai lu juste vite fait et il me semble que c'est simplement le hook qui va se charger de lancer les bons threads et que justement il a été pensé pour éviter la multiplication de ceux ci.
 
Pour résumer utilise l'exemple qu'ils donnent et regarde par toi même: l'application se bloque pas et tu n'as aucun thread à créer pour ca, magie de l'encapsulation [:petrus75]

n°1656394
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 11-12-2007 à 11:11:30  profilanswer
 

cf mon convertisseur euro à la volée : http://harko.free.fr/soft/euroconv.zip
 
l'appui sur la touche PAUSE déclenche la fenêtre de conversion. c'est géré par un hook global qui intercepte les events claviers avant qu'ils n'arrivent à destination de l'appli destinatrice. aucun thread, rien de créé


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Thread et Evenement

 

Sujets relatifs
[Thread/Socket] Serveur et client à la foisAttacher une fonction avec THIS sur un evenement en DOM
[FLASH] point de repere dans FLV qui declenche evenementListbox et événement lié au scroller
Evenement inconnu sur un bouton ?Userform - Confusion événement Change/Click
Passer un évènement en paramètre de fonctionComment faire deux evenement avec un seul lien hypertexte?
Thread, boucle + timer ?Gestion automatique d'evenement ? CSS/Javascript
Plus de sujets relatifs à : Thread et Evenement


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR