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 :

[Vb.Net et C#] Gestion des evenements


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2003
    Messages : 197
    Points : 115
    Points
    115
    Par défaut [Vb.Net et C#] Gestion des evenements
    Voici un sujet que je maitrise très mal et qui dans mon cas me parait compliquer.

    J'ai un formulaire A en C# qui ouvre un formulaire B en VB.Net.

    Dans mon formulaire B j'effectue des actions et ensuites je clique sur OK

    J'aimerais pouvoir declenchez un evenement dans B qui serait capturé par A pour ordonner à A de rafraichir une liste.

    Avant de regarder de ce coté, j'ai essayer de rendre ma fenetre B modal mais je ne peux pas.

    Pourriez vous me venir en aide sur ce point car je maitrise d'une part assez mal les evenements et la pour le coup je mix du Vb.net et du C#

    Merci d'avance de vos réponse.

    @+

    Hirochirak

    ps : j'ai parcouru le net, mais la gestion des evenements restent qqchose d'obscur pour moi, pourriez vous en m'aidant me fournir une explication rapide de la gestion des evenements
    -- Se lance dans l'asp.net 2.0 --

    Made In Taïwan

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2003
    Messages : 197
    Points : 115
    Points
    115
    Par défaut
    en relisant mon post, ma question peut etre un peu obscur.

    J'ai donc un formulaire "Dossier" qui est codé en C#

    j'ai un formulaire "Prescripteur" codé en VB.Net

    Dans mon formulaire Dossier, je dois préciser un prescripteur (via une combobox mais peut importe), bien sur de ce point la je peux modifier ou ajouter un prescripteur.

    J'ajoute ou je modifie un prescripteur donc je lance le formulaire "Prescripteur", une fois mon opération effectué je valide mon formulaire "prescripteur"

    C'est la ou j'ai un problème, lorsque je valide mon formulaire "prescripteur", je dois dire à mon formulaire "Dossier" qu'il doit mettre sa liste de prescripteur à jour.

    On m'a conseillé d'utiliser les événements, qui permettrait à la validation du formulaire "prescripteur" de déclencher mon code mettant à jour mon formulaire "Dossier" (et donc ma liste de prescripteur)

    on m'a parlé pele mele de delegate, d'evenement a catcher enfin bref toutes cette partie (pourtant importante) de dotnet m'est completement obscur.

    @+

    Hirochirak

    ps : mon formulaire "Prescripteur" ne peut pas être modal (ce qui me permettrait de l'ouvrir en showdialog et d'attendre le dialogresult).

    reps : enfin il ne peux pas etre modal car c'est du code existant et que je ne sais pas rendre une fenetre non modal en modal (sans compter que le formulaire prescripteur herite d'un autre formulaire)
    -- Se lance dans l'asp.net 2.0 --

    Made In Taïwan

  3. #3
    En attente de confirmation mail
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Points : 669
    Points
    669
    Par défaut
    Bonjour,

    Tu peux procéder comme ceci

    Code vb.net : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    Class MonForm1
     
      Public Event MonEvent
     
      Sub ValiderPrescripteur
        RaiseEvent MonEvent(Me, EventArgs.Empty)
      End Sub
     
    End Class
     
     
    Class MonForm2
     
      Sub AfficherMonForm1
        Dim frmMonForm1 as MonForm1
     
        Try
          frmMonForm1 = New MonForm1
     
          AddHandler frmMonForm1.MonEvent, AddressOf MonForm1_MonEvent
          frmMonForm1.ShowDialog
     
        Finally
          RemoveHandler frmMonForm1.MonEvent, AddressOf MonForm1_MonEvent
          frmMonForm1.Dispose
     
        End Try
     
      End Sub
     
      Private Sub MonForm1_MonEvent()
        ' Mettre à jour les données
      End Sub
    End Class

    Pour une fenetre, non modal, tu peux ajouter un gestionnaire d'evenement sur l'évenement "Close" pour supprimer les gestionnaires d'évenements

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2003
    Messages : 197
    Points : 115
    Points
    115
    Par défaut
    Merci pour la réponse.

    Mais comme mes deux formulaires sont dans des projets différents je crois qu'il me faut un delegate.

    En gros lorsque je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frmMonForm1.MonEvent += new frmMonForm1.MonEvent(MonEvent);
    je dois rediriger ma fonction MonEvent dans une fonction stocké dans MonForm2.

    Je vais essayer de trouver des exemples.

    Merci ca m'a bien aidé.

    @+

    Hirochirak
    -- Se lance dans l'asp.net 2.0 --

    Made In Taïwan

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2003
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2003
    Messages : 197
    Points : 115
    Points
    115
    Par défaut Solution
    Et voici ma solution

    Pour le formulaire en VB.net

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Event Confirmed(ByVal sender As Object, ByVal e As System.EventArgs) 'ajout d'un evenement
     
    Public Sub btn_Ok_Click()
    'declenchement de l'evenement au moment voulu dans une fonction
    RaiseEvent Confirmed(Me, System.EventArgs.Empty)
     
    end sub
    Pour le formulaire en C#

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    protected void test()
    {
    MyfromenVb frm = new MyfromenVb();
    frm.Confirmed += new MyfromenVb .ConfirmedEventHandler(View_Update_ListePrescripteurs); // on lie l'evenement confirmed a la fonction View_Update_ListePrescripteurs
     
    frm.show() //ouverture du formulaire pas de possibilité d'utiliser showdialog
    }
     
     
    protected void View_PrescripteurNouveau_Selected(object sender, ViewEventArgs e)
    {
    //Code de synchronisation enfin bref code a effectué
    }
    Après renseignement je n'ai pas besoin de faire de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    frm.Confirmed -= new MyfromenVb .ConfirmedEventHandler(View_Update_ListePrescripteurs);
    car mon formulaire lance mon evenement puis il est détruit lors de sa fermeture.

    Merci de votre aide

    @+

    Hirochirak
    -- Se lance dans l'asp.net 2.0 --

    Made In Taïwan

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

Discussions similaires

  1. Gestion des evenements avec la SDL
    Par gusgus dans le forum Ogre
    Réponses: 5
    Dernier message: 01/11/2006, 10h47
  2. Réponses: 3
    Dernier message: 25/08/2006, 23h11
  3. Réponses: 11
    Dernier message: 15/02/2006, 14h45
  4. [C#] Gestion des evenements
    Par zebulix13 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 12/06/2004, 18h40
  5. [VB.NET]La bonne gestion des forms
    Par Wintermute dans le forum Windows Forms
    Réponses: 11
    Dernier message: 13/01/2004, 16h35

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