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 une winform à partir d'un thread


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 262
    Points : 100
    Points
    100
    Par défaut Lancer une winform à partir d'un thread
    Bonjour à tous,

    Il faudrait que je lance une winform à partir d'un thread.
    Pourriez-vous me dire si cela risque de poser des problèmes ?

    J'ai toujours cru qu'un thread doit seulement faire des traitements légers.
    Est-ce que le lancement d'une winform risque de lui poser problème ? (sur certains postes ?)

    Merci

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Points : 375
    Points
    375
    Par défaut
    cela ne posera aucun problème, mais je ne vois pas trop le but. Dans tous les cas, une WinForm est obligatoirement lancé dans un thread (le thread principal de l'application)

    L'avantage des thread est de pouvoir réaliser des traitements asynchrone, donc sans "bloquage" de l'application

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 262
    Points : 100
    Points
    100
    Par défaut
    Merci beaucoup DroP pour ta réponse.

    Voilà le pourquoi de ma question :

    Au lancement d'une application winform, je vais vérifier dans une base sql server distante si les données locales sont à jour.
    Donc au lancement du winform, je lance un thread qui fait une vérification d'un numéro de version des données.

    Si le numéro est identique à la version locale, alors je ne fais rien.
    Sinon, je compte ouvrir une winform qui montre la progression de mise à jour des données.

    Voilà

    Encore merci !

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Points : 375
    Points
    375
    Par défaut
    Ok je comprend mieux, mais dans ce cas je te conseille plus de mettre en place ton thread dans le traitement de la mise à jour de ta base et d'utiliser des délégués afin de mettre à jour par exemple une progress bar sur une form. Je trouve cela plus propre que de mettre toute ta forme dans un nouveau thread car du coup ton thread à vraiment sa vocation à savoir le traitement d'opérations.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 262
    Points : 100
    Points
    100
    Par défaut
    OK, merci.
    Je vais suivre tes recommendations. Je ne l'ai jamais fait donc je risque de repasser sur le forum.

    Bonne journée.

  6. #6
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 288
    Points : 375
    Points
    375
    Par défaut
    Je te conseil de regarder ce tutoriel afin d'avoir des précisions sur les délégué

    http://csharpro.developpez.com/page10.php

    En effet vu qu'un thread ne peut pas directement atteindre les objets créer par un autre thread, tu aura besoin de cette technique pour gérer ta progress bar ou autre composant de ta form.

    edit :
    DOC MSDN sur les délégués

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [C# 2.0] Lancer une winform en multi thread
    Par Khrysby dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 11/07/2007, 10h56
  2. Réponses: 11
    Dernier message: 25/05/2006, 11h42
  3. Lancer une application à partir d'un programme
    Par Bouguennec dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 05/11/2005, 19h02
  4. [Winform][C#]Comment lancer une forme à partir du menu
    Par rb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/06/2005, 17h01
  5. [Stratégie] Lancer une url à partir d'une appli java
    Par yobogs dans le forum Général Java
    Réponses: 4
    Dernier message: 14/04/2005, 17h10

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