Utlisation usercontrol et bouton

ludoboss7 Messages postés 10 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 29 juin 2014 - 17 avril 2011 à 11:56
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 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?

3 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
17 avril 2011 à 13:21
Bonjour,

Génère un événement à parti de ton contrôle, ensuite, intercepte-le au niveau de la form.

Mon site
0
ludoboss7 Messages postés 10 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 29 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.
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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 ?

Mon site
0
Rejoignez-nous