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 :

Lancer form qui freeze l'application


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 41
    Points : 26
    Points
    26
    Par défaut Lancer form qui freeze l'application
    Bonjour,
    Actuellement dans mon appli c#, quand on clique sur un item de menu je fais ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
              try
                {
                    RealizeForm frmRealize = new RealizeForm ();
                    if (frmRealize .FormException == null)
                    {
                        frmRealize .MdiParent = this;
                        frmRealize .Show();
                        frmRealize .Update();
                    }
                    else
                    {
                        MessageBox.Show(_formNotOpen, _appname,
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(_catchError, _cebname,
                        MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
    Le problème est que quand dans les constructeurs ou les load de form je charge des données via nhibernate et quand je lance la form elle se freeze le temps les actions soit et par conséquent le freeze de la form freeze toute l'application.
    Quelqu'un a t'il déjà résolu le problème par un backgroundworker (est ce que cela ne pose pas de problèmes si je veut que ma form communique avec des singletons de mon appli) ?
    Ou par un autre moyen ?
    Si oui lequel ?

    Merci,

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    un traitement long ne peut en effet pas etre fait sur le thread principal sans freezer l'appli
    donc soit utiliser un backgroundworker soit un thread directement

    sachant que depuis un thread externe on ne peut pas modifier les controles, il faut alors repasser sur le thread principal pour ca

    je n'ai jamais utilisé nhibernate mais tant que délimite bien le chargement des données dans des objets et l'affichage de ses objets sur l'interface je pense qu'il n'y aura pas de soucis
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 80
    Points : 88
    Points
    88
    Par défaut
    Tu peux lancer un nouveau thread pour executer tes fonctions et si tu dois accèder au thread principal pour modifier par exemple des variables tu peux le faire en créant un delegate que tu appel par me.invoke

Discussions similaires

  1. [C#] Fermer la form qui autorise l'accès à l'application
    Par Sylk dans le forum Windows Forms
    Réponses: 11
    Dernier message: 22/09/2006, 14h34
  2. Fenetre qui ferme l'application
    Par pitistef dans le forum MFC
    Réponses: 3
    Dernier message: 04/09/2005, 19h00
  3. Form qui crée un espacement sous IE
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 04/09/2005, 13h56
  4. [VB.NET] Authentification Form qui rate.
    Par Abalalojik dans le forum ASP.NET
    Réponses: 4
    Dernier message: 10/01/2005, 13h09

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