ludoboss7
Messages postés10Date d'inscriptionmercredi 5 août 2009StatutMembreDernière intervention29 juin 2014
-
17 avril 2011 à 11:56
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024
-
17 avril 2011 à 15:50
bonjour ,
voilà j'essaie de créé un programme en wpf avec vb2010 express. j'ai ajouter dans ma fenêtre principale (main windows)un un label (label1) et un usercontrol (qui contient un textbox (texbox1) et un bouton) . je veux que lorsque j'appuis sur le bouton du control que le label de la form prenne la valeur du textbox.text du usercontrol.
j'ai essayé WpfApplication1.My.Windows.MainWindow.label1.Content = textbox1.text mais ça marche pas.
alors que textbox1.text=WpfApplication1.My.Windows.MainWindow.label1.content envoie le contenu du label dans le texbox du usercontrol.
en gros ça marche dans un sens mais pas dans l'autre (celui que je veux).
la question est simple: pourquoi?
ludoboss7
Messages postés10Date d'inscriptionmercredi 5 août 2009StatutMembreDernière intervention29 juin 2014 17 avril 2011 à 15:40
alors voila ce que j'ai fait pour ceux que ça intéresse.
""attention je suis débutant donc ce que je dis peut être faut mais ça marche""
au niveau de mon user control:
'je crée un nouveau usercontrol appellé usercontrol1
Public Class UserControl1
''je crée un évenement
''soit par la première méthode
Public Event MyEvent As System.EventHandler
''soit par cette deuxieme methode
Public Event MyEvent(ByVal sender As UserControl1, ByVal e As System.EventArgs)
dans le premier cas sender est un objet, dans le second cas sender est un usercontrol1 (c'est plus restrictif)
(à confirmer par des gens plus expert)
"pour rappel mon usercontrol contient un texbox et un bouton (bouton 5)
" je vais appeler mon événement quand je clic sur mon bouton
Private Sub button5_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles
button5.Click
RaiseEvent MyEvent(Me, New RoutedEventArgs())
End Sub
End Class
du coté de la Main windows
'tout d'abord je crée un usercontrol
Dim userc As New UserControl1
(je vous passe les détails pour l'afficher)
'ensuite j'ajoute cette ligne
AddHandler userc.Myevent, AddressOf lulu
'd'après ce que j'ai compris ceci permet d'ajouter un evénement à Main windows donc dans notre cas l'événement Myevent créé dans le usercontrol est ajouter à la Mainwindows. ensuite quand l'événement arrive (raise Myevent) la sub lulu est jouer
Private Sub lulu(ByVal sender As UserControl1, ByVal e As System.Windows.RoutedEventArgs)
label1.content=sender.texbox.text
End Sub
au final le clic sur le bouton du usercontrol lance l'événement Myevent qui va lancer la sub lulu.
si quelqu'un pourrait m'expliquer clairement comment marche le addhandler ce serait sympa pour ma compréhension.
ou si il y a plus simple je suis preneur.
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 17 avril 2011 à 15:50
Bonjour,
AddHandler est une fonction qui permet de lier une fonction de traitement à un evenement.
Je ne vois pas ce que tu cherches de plus compliqué comme explication ?