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 :

Communication entre controles utilisateurs


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 92
    Points : 98
    Points
    98
    Par défaut Communication entre controles utilisateurs
    Bonjour,

    Je créé une application avec plusieurs contrôles utilisateurs, et je me demande comment les faire communiquer entre eux.

    Exemple : Dans le contrôle A je choisi une valeur, il faudrait que le contrôle B en soit informé.

    J'ai essayé notamment en créant un "Public Event" sur le contrôle A et j'arrive à "l'écouter" via le formulaire qui contient mon contrôle A. Mais je vois pas comment un autre contrôle utilisateur pourrait écouter A.

    Peut-être je m'égare avec le "public event" ... le but c'est d'avoir un contrôle A (qui reste en place) et suivant sa sélection :
    - soit un autre contrôle du formulaire se met à jour
    - soit je remplace cet autre contrôle par un nouveau contrôle.

    Mon problème c'est la communication : Le contrôle utilisateur chargé doit connaitre (à tout moment) la valeur du contrôle A.

    Voilà, merci d'avance pour vos pistes !

    a+
    Damran

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    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 177
    Points : 25 125
    Points
    25 125
    Par défaut
    à mon avis tu t'embrouilles toi meme

    il est possible de gérer ca sur le form via les event des controles

    par un exemple pour qu'un label contiennent une chaine fixe plus ce qui est contenu dans un textbox, ce n'est pas forcément au label de s'occuper de ca

    sur la form tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    sub machin handles textbox.TextChanged
      label.text = "blabla " & textbox.text
    end sub
    après si c'est un comportement qui doit etre répété entre 2 controles, il est possible de faire un usercontrol qui contient les 2

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 92
    Points : 98
    Points
    98
    Par défaut
    Bonjour,

    Désolé pour ma réponse tardive.
    Le solution ne convient pas à mon cas car je ne connais pas d'avance ce que mon contrôles personnalisé contient, et ce qu'il doit faire (c'est donc à lui de s'auto-alimenter).

    En revanche, je redécouvre vb.net... et bien le merci pour ce petit rappel, qui me servira j'en suis sur !!

    Voici la solution que j'ai mis en place : Pour que le form puisse avoir un "canal de communication" avec le contrôle personnalisé (qui je le rappel, peut-être n'importe quel contrôle personnalisé), j'ai créé une interface. Cette interface contiens une propriété et c'est cette propriété qui est appelé par le formulaire. Ensuite le contrôle basé sur la dites interface fera ce qu'il aura à faire quand le formulaire lui donnera des informations via ce "canal" (qui n'est qu'une propriété "GET").

    Merci bien pour la réponse.

    Damran

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    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 177
    Points : 25 125
    Points
    25 125
    Par défaut
    pas tout compris, mais il est aussi possible d'obtenir une instance de controle par son nom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.controls(nomducontrole as string)
    il est aussi possible d'ajouter de l'évènementiel par code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    addhandler instance.event, addressof tellesub

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

Discussions similaires

  1. Dossier utilisateur commun entre Vista et Mac
    Par sef10 dans le forum Apple
    Réponses: 2
    Dernier message: 22/01/2009, 16h25
  2. communication entre 2 web controls
    Par topolino dans le forum ASP.NET
    Réponses: 2
    Dernier message: 13/10/2008, 12h16
  3. transfert entre formulaire, panneau et controle utilisateur
    Par Ouija33 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/01/2008, 15h49
  4. Communication entre deux controllers
    Par Feustine dans le forum Ruby on Rails
    Réponses: 10
    Dernier message: 17/12/2007, 10h58
  5. [VB]Gérer la liaison entre controle utilisateur et form
    Par Ooly2001 dans le forum VB 6 et antérieur
    Réponses: 19
    Dernier message: 23/01/2006, 10h50

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