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 :

[C#] Accès à un contrôle depuis un autre controle


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut [C#] Accès à un contrôle depuis un autre controle
    Bonsoir,

    J'ai un petit souci (de débutant).

    J'ai créé un user control. Sur la méthode double click je souhaite
    agir sur des propriétés d'autres contrôles.
    Mon problème est que ces objets ne sont pas vu depuis mon user control.
    (sniff !!)

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut [C#] Accès à un contrôle depuis un autre controle
    Bonjour

    Pas de réponse ?

    Soit ma question est ridicule et je ne m'en suit pas rendu compte.
    Soit je l'ai mal formulée.

    Je reformule donc ma question.

    1 -> J'ai créé un composant "user control" sur lequel j'ai intégré des labels et des picurebox.
    2 -> Sur mon formulaire principal j'ai inséré un panel sur lequel j'ai positionné plusieurs objets issus de mon "user control".
    3 -> Je souhaite positionner du code sur l'évenement "click" de mon "user control" afin que tous les objets issus de ce contrôle en hérite.
    4 -> Ce code doit me permettre de changer la couleur de fond des autres objets

    Problème : Quand je suis sur le code du "click" je ne vois pas les objets que
    j'ai positionné sur mon formulaire principal (rien dans l'intelicence).

    Merci par avance.
    (et désolé si la question est basique, j'avance à taton et mes recherches ne sont pas forcement fructueuses)

  3. #3
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Salut .

    tu ne peux pas a partir de ton user controle acceder aux controles de ta form.

    En terme de POO ça voudrait dire que si une classe A à un objet de type B alors l'objet de type B peut avoir accès aux membres de la classe A. Tout a fait impossible.

  4. #4
    Membre actif Avatar de DarkMolo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    207
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2006
    Messages : 207
    Points : 277
    Points
    277
    Par défaut
    Salut,
    Si t'as créé un UserControl et qu'il se trouve bien affiché sur ta form, c'est que certainement, il est passé par laform.Controls.Add(MonUserControl), eh bien dans ton evenement où n'importe où dans ton UserControl, tu peut faire this.Parent, il s'agit d'une référence sur le control conteneur de ton usercontrol(une form, un panel...) qui lui dispose de la collection Controls , donc tu pourras faire:
    for(int i=0;i<this.Parent.Controls.Count;i++)
    this.Parent.Controls[i].BackColor=Macouleur;


    J'espère que c'est ce que tu recherche.

  5. #5
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Points : 6 017
    Points
    6 017
    Par défaut
    Citation Envoyé par DarkMolo
    J'espère que c'est ce que tu recherche.
    ça ne lui donne pas le compo spécifique qu'il cherche, mais effectivement c'est une solution

  6. #6
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 16
    Points : 11
    Points
    11
    Par défaut Merci.
    Merci .

    Je pense que cela dervrait faire l'affaire.
    Je cours de ce pas vérifier si cela fonctionne.

    Merci encore pour votre aide.
    A+

  7. #7
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Citation Envoyé par Gloups
    J'ai créé un user control. Sur la méthode double click je souhaite
    agir sur des propriétés d'autres contrôles.
    Mon problème est que ces objets ne sont pas vu depuis mon user control.
    C'est pour ça qu'il existe les évènements.
    Ton arborescence de controle est hiérachique : les sous-controles contenus dans un control ne DOIVENT PAS savoir quel control les contient.
    Pourquoi ? Parce que quand on fait un control, c'est pour pouvoir l'utiliser indifféremment dans n'importe quel control.
    La seule façon pérènne de faire communiquer un control avec ses sur-controls, c'est de créer des évènements.
    Pour info, c'est exactement ce qui arrive quand tu clicke sur un bouton : ton bouton lève l'évènement 'click', le control qui le contient est averti et fait ce qu'il a à faire.

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

Discussions similaires

  1. Accès à une propriété depuis une autre Window
    Par Team2009 dans le forum Windows Presentation Foundation
    Réponses: 8
    Dernier message: 03/02/2011, 14h02
  2. Réponses: 2
    Dernier message: 15/07/2010, 11h07
  3. Accés à un objet depuis un autre
    Par Invité dans le forum VB.NET
    Réponses: 4
    Dernier message: 25/06/2009, 23h28
  4. Réponses: 10
    Dernier message: 22/08/2007, 18h07
  5. accés a oracle depuis une autre machine
    Par tounsi dans le forum Connexions aux bases de données
    Réponses: 10
    Dernier message: 16/01/2006, 17h06

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