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

mezzo_998 Messages postés 4 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 23 septembre 2006 - 22 sept. 2006 à 22:24
mezzo_998 Messages postés 4 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 23 septembre 2006 - 23 sept. 2006 à 17:43
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

MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
23 sept. 2006 à 13:52
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..
0
mezzo_998 Messages postés 4 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 23 septembre 2006
23 sept. 2006 à 14:26
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 ?
0
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
23 sept. 2006 à 15:21
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 :)
0
mezzo_998 Messages postés 4 Date d'inscription lundi 12 juin 2006 Statut Membre Dernière intervention 23 septembre 2006
23 sept. 2006 à 17:43
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.
0
Rejoignez-nous