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

VB.NET Discussion :

Textbox et Thread


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 23
    Par défaut Textbox et Thread
    Bonjour,

    J'aimerais dans une application serveur (qui est à l'écoute de connexions clientes) afficher des informations concernant ces connexions dans une text box unique. j'ai donc une classe pour le winform, une classe serveur et une classe client. La classe serveur initie un thread principal (qui ecoute) et délègue le traitement a d'autres thread (via la classe cliente).

    Je n'arrive pas à communiquer avec la clase winform qui contient le textbox, j'imagine que c'est un problème de synchronisation. J'ai effectué quelques recherches sur le net mais généralement les exemples sont dans une classe unique qui contient à la fois la winform le client et le serveur...et en plus en c#.

    Comment dois je procéder ? Dois je utiliser une méthode delegate ? Comment cela fonctionne-t-il ? Y-a-t-il un moyen plus simple, sachant que l'ordre des messages n'a pas d'importance ?

    Je vous remercie d'avance.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par migutz Voir le message
    Comment dois je procéder ? Dois je utiliser une méthode delegate ? Comment cela fonctionne-t-il ?
    Voir MSDN: http://msdn2.microsoft.com/fr-fr/lib...28(VS.80).aspx
    Ou encore ce tuto : http://drq.developpez.com/dotnet/articles/threads/#L5

    Citation Envoyé par migutz Voir le message
    Y-a-t-il un moyen plus simple
    Tu peux utiliser une queue de messages (Queue<LaClasseMessage), accessible par le thread serveur et le thread d'UI (par exemple dans une classe statique Global). Dans le thread du serveur, tu mets les messages dans la queue. Dans la form, tu mets un timer pour vérifier régulièrement les messages à traiter. Attention de bien gérer la synchronisation des threads pour l'accès à la queue, avec un lock :

    Dans le thread serveur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    LaClasseMessage msg = new LaClasseMessage(....);
    lock(Global.Messages)
    {
        Global.Messages.Enqueue(msg);
    }
    Dans la form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    private void timerMessages_Tick(object sender, EventArgs e)
    {
        while (Global.Messages.Count > 0)
        {
            LaClasseMessage msg = Global.Messages.Dequeue();
            ProcessMessage(msg);
        }
    }
    Je suis pas certain que ce soit vraiment plus simple, mais bon...

Discussions similaires

  1. Thread + textBox
    Par thomas87 dans le forum Windows Forms
    Réponses: 6
    Dernier message: 04/06/2008, 10h12
  2. Thread et TextBox
    Par archer dans le forum C#
    Réponses: 8
    Dernier message: 20/05/2008, 00h14
  3. Réponses: 5
    Dernier message: 19/05/2008, 10h31
  4. Controler des textBox dans des thread
    Par ramaro dans le forum Windows Forms
    Réponses: 5
    Dernier message: 25/04/2008, 14h21
  5. [vc++ 2005] acceder a un textbox a partir d un thread
    Par jerome86600 dans le forum VC++ .NET
    Réponses: 9
    Dernier message: 12/07/2006, 13h10

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