IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Comment executer un form contenant un long processus tout en utilisant l'application principale ?


Sujet :

Windows Forms

  1. #1
    Battosaiii
    Invité(e)
    Par défaut Comment executer un form contenant un long processus tout en utilisant l'application principale ?
    Bonjour,

    Je developpe un add-on pour internet explorer.
    Cet add-on execute un form qui contient un processus tres long. J'aimerais pouvoir executer ce form tout en utilisant internet explorer normalement. Comment faire ?

    voici mon code qui pose probleme car "freeze" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
                        MyForm myForm = new MyForm(context);
                        myForm.Show(parentWindow);                 
                        while (myForm.DialogResult == DialogResult.None)
                        {
                            System.Windows.Forms.Application.DoEvents();
                            Thread.Sleep(1000);
                        }
    J'aimeraid attendre que le form retourne un dialogresult different de None. Lorsque le dialogresult est different de None alors je continue le code normalement. Comment faire ?

    Je ne veux pas de ShowDialog car je veux que l'utilisateur puisse utiliser l'application principale pendant ce temps.

    Merci,

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 069
    Points : 12 113
    Points
    12 113
    Par défaut
    Il y a deux problèmes bien distincts :

    Pour avoir une IHM qui reste réactive malgré des traitements longs, la solution la plus simple est l'utilisation de Thread du ThreadPool :
    http://msdn.microsoft.com/fr-fr/libr...ol(VS.80).aspx

    Pour attendre la fin de l'affichage d'une Form, il suffit de s'abonner à l'évènement correspondant:
    http://msdn.microsoft.com/fr-fr/libr...ed(VS.80).aspx

Discussions similaires

  1. [VB.NET]Comment Imprimer une form
    Par bernard06 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/10/2011, 17h43
  2. Réponses: 4
    Dernier message: 28/01/2009, 15h02
  3. [MDI] Comment charger une Form fille au démarrage ?
    Par Benjamin GAGNEUX dans le forum Composants VCL
    Réponses: 13
    Dernier message: 03/07/2004, 12h40
  4. [DEBUTANT]Comment executer un script sql
    Par peaceinpal dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/03/2004, 08h44
  5. Comment Rétablir un FORM ?
    Par Xavier dans le forum C++Builder
    Réponses: 3
    Dernier message: 19/11/2002, 12h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo