Envoyer un évènement KeyPress à un TextBox sur un formulaire non actif

Messages postés
4
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
23 septembre 2006
-
Messages postés
4
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
23 septembre 2006
-
Bonjour,
Je cherche à réaliser une application qui est une sorte d'émulation de Form.
Le serveur, sur lequel sont stockés les Forms, envoie au client les forms demandés sous forme de trame réseau. Le client (windows mobile) interprète ensuite les trames reçues pour créer le formulaire. Une fois les champs remplis une action déclenche l'envoi d'une trame vers le serveur comprenant la méthode de validation (clic sur bouton ou "Enter" dans un textbox). Le serveur doit ensuite reproduire l'action pour exécuter les bonnes méthodes liées à chaque évènement.

Mon problème concerne l'évènement KeyPress des textbox que je n'arrive pas à envoyer.
J'ai essayé de faire
<!-- BEGIN TEMPLATE: bbcode_code -->

myTextBox.Focus();
SendKeys.Send("{ENTER}");

<!-- END TEMPLATE: bbcode_code -->Mais celà ne marche pas car j'ai une exception me disant que l'application ne gère pas les messages windows : je pense que ça vient du fait que je ne fais jamais MyForm.Show() puisque sur le serveur je n'ai pas besoin d'afficher le formulaire.

Est ce que quelqu'un sait comment faire ?

Merci d'avance.

<!-- / message -->

4 réponses

Messages postés
546
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
4 mai 2007
1
Personnellement j'aurais tout émulé sur le serveur sans créer une seule form.
Etant donné qu'il s'agit d'un server cela évitera d'utiliser de la mémoire pour rien..
Messages postés
4
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
23 septembre 2006

Merci pour ta réponse mais en fait le but de cette "émulation" est double :
1/ Faire travailler le moins possible le client et stocker le code applicatif sur le serveur (mises à jour fréquentes prévues)
2/Faciliter le développement des nouveaux écrans (d'où l'intérêt de passer par les forms que l'on peux concevoir graphiquement très rapidement).


Même si en terme de mémoire ce n'est pas la meilleure méthode, il y a t il quand même une solution pour émuler mon évènement ?
Messages postés
546
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
4 mai 2007
1
Effectivement si il s'agit d'un gros projet et que les mises à jour sont fréquentes mieux vaut passer l=par les winforms.
Tu les sérialises pour les envoyer ?
Sinon pour ton problème je ne vois pas comment procéder mais je suis intéressé par la réponse :)
Messages postés
4
Date d'inscription
lundi 12 juin 2006
Statut
Membre
Dernière intervention
23 septembre 2006

Oui je sérialise les forms mais de façon "maison" pour que les trames soient plus courtes.


Si je ne trouve pas de solution pour déclencher ce modit évènement je pense que je passerai par une fonction du type

fonction (object sender)
{
   if (sender.Equals(textBox1)
   {
      ...
   }
    ...
}
mais ça ne m'enchante pas du tout car ça force à sortir de la programmation habituelle du Visual Studio et ce n'est pas le but du projet.
Mais en informatique tout est possible donc je suis sûr qu'il doit y avoir une solution.