begin process at 2010 02 10 04:26:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Formulaire

 > CONNEXION ENTRE FORM DANS UNE MÊME APPLICATION - UTILISATION MESSAGES WINDOWS (HOOKS)

CONNEXION ENTRE FORM DANS UNE MÊME APPLICATION - UTILISATION MESSAGES WINDOWS (HOOKS)


 Information sur la source

Note :
Aucune note
Catégorie :Formulaire Niveau :Initié Date de création :06/03/2005 Vu / téléchargé :3 668 / 545

Auteur : freecool

Ecrire un message privé
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

Voici un petit code, qui je l'espère, sera utile à tous. Mon pb était le suivant :
Le programme main se déroule (et doit être absolument en dehors de la form), appelle une form pour de la saisie et reprend son cours après avoir récupéré la donnée saisie.

Solution initiale :
Le seul moyen que j'avais trouvé était de faire un hide de la form après la saisie afin de récupérer le texte, sinon la form restait toujours active et le main ne récupérait jamais le texte. La conséquence directe était un effet de "clignotement" de la form car j'accédais souvent à la form pour de la saisie.

Solution proposée dans cet exemple :
Utiliser les messages Windows. Pour ce faire, j'ai retravaillé le code de salazar (ID=29151) et avec les hooks, la form reste toujours active et le main continue son traitement dès réception du message (du texte si vous préférez).

Voilà, l'explication est peut être longue mais le pb n'est pas facile à expliquer.


 Conclusion

Les explications sont décrites ci-dessus

Remerciements à :
- Salazar pour le code qu'il a posté (ID=29151) et dont je me suis inspiré pour résoudre mon pb.
- Christophe (crenaud76) pour son aide sur le pb de son dans la textbox

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture RÉPERTOIRE TÉLÉPHONE SIMPLE VB2008 EXPRESS EN LIEN AVEC FICH... par stef68600
Source avec Zip Source avec une capture Source .NET (Dotnet) EDITEUR DE TEXTE WINFORM AVEC CORRECTEUR ORTHOGRAPHIQUE WPF par gillardg
Source avec Zip Source .NET (Dotnet) MODIFIER L'OPACITÉ D'UN FORMULAIRE AU PASSAGE DE LA SOURIS par Arnal88
Source avec Zip Source avec une capture LOGICIEL BONS DE TRAVAUX par gnieark
Source avec Zip Source avec une capture Source .NET (Dotnet) AFFICHER UNE IMAGE DANS UNE CELLULE D'UN DATAGRIDVIEW LIÉ À ... par christcnet

Commentaires et avis

Commentaire de Kazuya le 06/03/2005 21:51:25

Soit je n'ai pas saisi l'intéret sois il n'y en a aucun, en effet, j'ai essayé de faire la mêche chose en mettant dans le Command1_Click de ma form2 le code suivant:
Fom1.List1.Additem Text1.Text
Et ça marche aussi bien alors explique.

Commentaire de cbnet le 07/03/2005 02:36:15

bah, vraiment j'ai rien pigé à ton problème !!
mais tu peux faire un truc du genre :
- ton main
- tu charges une form depuis ton main
- tu saisies tes infos dans ta form et tu valides
- tu places ces infos dans des variables globales
- tu fermes complètement cette form (pas de hide !)
- tu exploites ces variables globales dans ton main, et au besoin pour ces variables tu peux même créer des structures (avec Type)

non ???

Commentaire de cbnet le 07/03/2005 02:38:06

ps : je n'ai pas consulter ton code...
mais faudrait m'en expliquer l'interêt

Commentaire de EvilGost le 07/03/2005 12:21:14

+1 pour Kazuya

Commentaire de bouv le 09/03/2005 12:56:08

Ok tu declare dans un module des variables en Public, tu y stock des données.
Et tu peux y acceder depuis n'importe quelle form.

Commentaire de freecool le 09/03/2005 22:43:49

Le but de la chose est le suivant et diffère nettement de vos remarques pertinentes :

Programme Main (form 1)
  traitements divers
  ....
  boucle de saisie sur form2 champ par champ  
     appel à form2 pour saisie d'une donnée pour un champ
    continuation du main et traitement (action) d'après le champ saisi
   .....
  fin de boucle
  continuation du main avec traitements divers
  ....
fin du main

voilà en gros l'idée.

Même en mettant des variables communes, la form2 ne rend pas la main au main. De ce fait, la variable commune n'est pas exploitable par le main.
Il faut donc laisser actif la form2 tout en rendant la main au main pour qu'il continue son traitement.

Des suggestions pouvant répondre également à cette problématique ?

Commentaire de bouv le 10/03/2005 13:12:45

ok je viens de regarder ta source et j'ai mieux compris ce que tu voulais. Je tournerai ma langue 7 fois ....

Effectivement ta méthode est vraiment très bien.

Je te met 10/10.

Bonne prog
++

Commentaire de zifnig le 18/03/2005 17:09:27

Je n'ai pas regardé le code, mais une alternative est d'utiliser une feuille non modale, ce qui permet au programme principal de tourner en parallèle => prévoir dans la feuille non modale la saisie successive des paramètres.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales