Partage
  • Partager sur Facebook
  • Partager sur Twitter

WinForm: UserControl et Event

Event sur une propriété créée dans mon UserControl

    2 janvier 2020 à 15:46:40

    Bonjour, 

    J'ai un souci pour créer un évenement lié à un changement de valeur d'une propriété sur un Usercontrol que je crée. L'Usercontrol sera utilisé dans un Form. Je veux dans mon Form pouvoir utiliser l'event lorsque je code un changement de valeur de la propriété.

    Mon code:

    public partial class Test : UserControl

    {

       // Variable privée pour gérer en interne la valeur de la propriété

       private StylePresentation Prez;

      // Ma propriété, qui est en fait lié à une énumération du nom StylePresentation

        public StylePresentation DisplayStyle

      {

           get

           { return this.Prez;}

           set

           {this.Prez =value;}

      }

      // Je crée mon Event

      public delegate void PresentationHandler (object sender, EventArgs e);

      public event PresentationHandler StyleChanged;

      Protected virtual void OnValueChanged (EventArgs e)

      {

           if (StyleChanged != null)

            StyleChanged (this, e);

      }

      private void StylePresentationDisplay_Changed (object sender, EventArgs e)

      {

           OnValueChanged(e)

      }

    }

    End

    Mais lorsque je mets l'Usercontrol dans un Form, l'Event est bien inscrit dans la fenêtre des Event, mais lorsque je code (dans ma Form) la méthode qui est liée à l'event de la propriété, la methode ne marche pas quand je lance le form.

    Je pense que je ne sais pas notifier à mon Event dans le code de l'UserControl, le changement de valeur de la propriété. 

    Pourrait on m'aider sur le code exact à Appliquer?

    Merci.

    • Partager sur Facebook
    • Partager sur Twitter
      2 janvier 2020 à 20:04:40

      Bonjour,

      Merci de colorer votre code à l'aide du bouton Code

      Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: vb;">Votre code ici</pre>.

      Liens conseillés

      • Partager sur Facebook
      • Partager sur Twitter
        3 janvier 2020 à 1:11:42

        >Je veux dans mon Form pouvoir utiliser l'event lorsque je code un chancontrolgement de valeur de la propriété.

        Il y a un problème de conception. C'est le formulaire qui fourni les données aux UserControls, il n'est donc pas à être "prévenu" car cet lui l'initiateur.

        Et pourquoi faire si compliqué ?

        https://stackoverflow.com/questions/2188059/winforms-user-controls-custom-events

        • Partager sur Facebook
        • Partager sur Twitter
        Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.

        WinForm: UserControl et Event

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown