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 :

WPF interaction Window avec user control [Débutant]


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Par défaut WPF interaction Window avec user control
    Bonjour,

    Je suis en train de faire une petite application en VB.Net (wpf) avec pour le moment un window et un user control.
    Je cherche avec interragir à partir d'un bouton sur la fenêtre principale sur le user control.
    Le but est de lancé la mise à jour d'une BDD à partir du datagrid contenu modifié de l'user control.

    Après quelques heures de recherche j'ai donc compris que ca passais par les events, et j'ai trouvé et adapté ceci:

    Dans mon MainWindow:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    Class MainWindow
     
        Public Event MyEvent As EventHandler
     
    	 Private Sub test_Click(sender As Object, e As RoutedEventArgs) Handles test.Click
            RaiseEvent MyEvent(Me, New EventArgs())
        End Sub
    End Class
    Et dans le usercontrol:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    Public Class updateFAI
     
     Protected Sub MyControl_MyEvent(ByVal sender As Object, ByVal e As EventArgs) Handles MainWindow.MyEvent
     
            'Je fais ma sauce ici
        End Sub
     
    End Class
    Malheureusement Visual Studio me met un message d'erreur sur MainWindo dans le usercontrol (Handles MainWindow.MyEvent)
    A ce stade je ne sais plus trop quoi faire. J'ai vu qu'on pouvait passé aussi par un event et une class, mais je n'ai pas trouvé d'exmple concret en VB.Net la dessus.

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonsoir,

    Au passage tu peux remercier le contenu de ce post : http://www.developpez.net/forums/d15...ventargs-hand/

    Il ne faut pas voir honte....

    On est tous passé par la case débutant et en tant que tel il n'y a rien de plus honteux que d'ignorer cela......

    en bref ...ceci n'est pas un usercontrol !!! :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Public Class updateFAI
     
     Protected Sub MyControl_MyEvent(ByVal sender As Object, ByVal e As EventArgs) Handles MainWindow.MyEvent
     
            'Je fais ma sauce ici
        End Sub
     
    End Class
    ...sinon il hériterait au moins de la classe userControl (et il ne référencerait pas ta classe mainWindow!!!) !

    Reviens nous voir lorsque tu auras quelque chose de cohérent car le copier/coller n'apporte bien souvent rien de bon lorsque les fondements ne sont pas acquis !

    ++

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Par défaut
    Bonjour,

    Tout d'abord merci de l'intérêt que tu porte à mon poste.

    Je pensais bien avoir à faire à un usercontrol (ADD New Item --> User Control) et effectivement il ne me référence pas le MainWindow j'ai donc fait une modification pour ça.

    Alors voila un la partie mainwindow plus détaillé :

    Code : 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
    36
    37
    38
    39
    40
     
    Class MainWindow
     
        Public Event MyEvent As EventHandler
     
     
        Private Sub MenuItem_Click(sender As Object, e As RoutedEventArgs)
            'Environment.Exit(0)
            Application.Current.Shutdown()
     
        End Sub
     
     
        Private Sub MN_Lst_nv_nomenc_Click(sender As Object, e As RoutedEventArgs) Handles MN_Lst_nv_nomenc.Click
            Dim lstNvNom As New lst_nv_nomenc
            Grid_1.Children.Clear()
            Grid_1.Children.Add(lstNvNom)
     
     
     
        End Sub
     
        Private Sub MN_Update_FAI_Click(sender As Object, e As RoutedEventArgs) Handles MN_Update_FAI.Click
            Dim upFAI As New updateFAI
            Grid_1.Children.Clear()
            Grid_1.Children.Add(upFAI)
     
     
        End Sub
     
        Private Sub test_Click(sender As Object, e As RoutedEventArgs) Handles test.Click
     
            RaiseEvent MyEvent(Me, New EventArgs())
     
     
        End Sub
     
     
     
    End Class
    Et ce que je pensais être un usercontrol:

    Code : 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
     
    Public Class updateFAI
        Private WithEvents MainWindow As New MainWindow
     
        Private Sub updateFAI_Initialized(sender As Object, e As EventArgs) Handles Me.Initialized
     
        End 
     
    	'ICI quelques fonction qui n'ont rien avoir
     
    	Protected Sub MyControl_MyEvent(ByVal sender As Object, ByVal e As EventArgs) Handles MainWindow.MyEvent
     
            'Je fais ma sauce ici
            MsgBox("toto")
        End Sub
    End Class

    Du coup si ce n'est pas un usercontrol, qu'est ce que c'est ?

  4. #4
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    bonjour,

    Mea culpa, si tu as ajoutés un contrôle UserControl depuis l'IDE alors ce dernier se charge de créer la classe partielle associée..... donc à première vue c'est une classe mais dans la classe partielle on peut y voir l'héritage de la classe Usercontrol :

    Code : 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
     
    <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
    Partial Class UserControl1
        Inherits System.Windows.Forms.UserControl
     
        'UserControl remplace la méthode Dispose pour nettoyer la liste des composants.
        <System.Diagnostics.DebuggerNonUserCode()> _
        Protected Overrides Sub Dispose(ByVal disposing As Boolean)
            Try
                If disposing AndAlso components IsNot Nothing Then
                    components.Dispose()
                End If
            Finally
                MyBase.Dispose(disposing)
            End Try
        End Sub
     
        'Requise par le Concepteur Windows Form
        Private components As System.ComponentModel.IContainer
     
        'REMARQUE*: la procédure suivante est requise par le Concepteur Windows Form
        'Elle peut être modifiée à l'aide du Concepteur Windows Form.  
        'Ne la modifiez pas à l'aide de l'éditeur de code.
        <System.Diagnostics.DebuggerStepThrough()> _
        Private Sub InitializeComponent()
            components = New System.ComponentModel.Container()
            Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        End Sub
     
    End Class
    ++

  5. #5
    Membre à l'essai
    Inscrit en
    Octobre 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 4
    Par défaut
    Bonjour,

    Merci pour ces précisions.
    Le week end étant passé, j'ai compris mon erreur (le repos ça aide parfois).

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

Discussions similaires

  1. Probéme avec user control
    Par Pedro Varela dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/04/2008, 11h52
  2. Problème avec user control
    Par 0365752 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/12/2007, 17h00
  3. Problème avec le controle "create user wizard"
    Par iTanger dans le forum ASP.NET
    Réponses: 2
    Dernier message: 09/05/2007, 10h22
  4. problème avec user Control
    Par shirya dans le forum ASP.NET
    Réponses: 4
    Dernier message: 14/03/2007, 15h02
  5. [1.1]Probleme évenement avec Web User Control
    Par djoao dans le forum ASP.NET
    Réponses: 1
    Dernier message: 30/01/2007, 15h35

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