[VB.NET] Passer des variables d'un UC à un autre
Bonjour à tous.
Je suis en train de développer en VB.Net, un logiciel dans lequel j'ai deux Usercontrols distincts. Je suis débutant....
Le premier Usercontrol (nommé UC1) affiche des Picturebox simulant des boutons.
Quand on clique sur un bouton, on interroge une Base de données pour connaître une désignation, un prix HT et un prix TTC
Le second Usercontrol (nommé UC2) affiche une Picturebox et des labels pour afficher le résultat de la requête issue de l'appui sur le bouton du Usercontrol1.
L'UC2 simule un ticket de caisse.
Mon problème est que je n'arrive pas à afficher les valeurs de ma requête issues de UC1 dans les labels de l'UC2.
En déboguant le programme, les variables ont bien les valeurs issues de la base de données, mais ne se passent pas aux labels de l'UC2.
Code Bouton UC1:
Code:
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 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
Private Sub btn_tarif_presta_1_Click(sender As Object, e As EventArgs) Handles btn_tarif_presta_1.Click
Dim table_item As String
If Not cn_Perfect.State = ConnectionState.Open Then
cn_Perfect.Open()
End If
provider = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
dataFile = "C:\Users\xxxx\Documents\Visual Studio 2017\Projects\WindowsApp7\WindowsApp7\PerfectHair.mdb"
connString = provider & dataFile
myConnection.ConnectionString = connString
myConnection.Open()
If type_cx = 1 Then
table_item = "Tarifs_prestas_CC"
End If
If type_cx = 2 Then
table_item = "Tarifs_prestas_CL"
End If
If sexe = 2 Then
table_item = "Tarifs_prestas_h"
End If
If sexe = 3 Then
table_item = "Tarifs_prestas_e"
End If
nb_items = nb_items + 1
Dim obj As New Usr_Ticket_Client
'Recherche Acronyme prestation dans la table Config_boutons_c
nom_prestation = "SHBRHCC"
'Edition du ticket
'Recherche du tarif de la prestation
Dim sql = "SELECT * FROM " & table_item & " WHERE Nom_presta= '" & nom_prestation & "'"
nom_presta = New OleDbDataAdapter(sql, cn_Perfect)
cmd_presta = New OleDbCommand(sql)
nom_presta.Fill(ds, table_item)
texte_ligne = ds.Tables(table_item).Rows(0)(3).ToString
TTC_Ligne = ds.Tables(table_item).Rows(0)(6).ToString
obj.lbl_Ticket_Ligne = texte_ligne
obj.Lbl_Ticket_Ligne_1.Text = texte_ligne
obj.Lbl_Ticket_TTC_Ligne_1.Text = TTC_Ligne & ",00"
obj.Lbl_Ticket_HT.Text = Math.Round(Val(TTC_Ligne) / 1.2, 2)
'obj.Refresh()
myConnection.Close() |
Code UC2 :
Code:
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 41 42 43 44 45
|
Public Class Usr_Ticket_Client
Public Property lbl_Ticket_Ligne As String
Private Sub btn_Carte_bleue_MouseHover(sender As Object, e As EventArgs)
btn_Carte_bleue.Image = My.Resources.carte_bleue_on
End Sub
Private Sub btn_Carte_bleue_MouseLeave(sender As Object, e As EventArgs)
btn_Carte_bleue.Image = My.Resources.Carte_bleue_off
End Sub
Private Sub btn_Chèque_MouseHover(sender As Object, e As EventArgs)
btn_Chèque.Image = My.Resources.chèque_on
End Sub
Private Sub btn_Chèque_MouseLeave(sender As Object, e As EventArgs)
btn_Chèque.Image = My.Resources.Chèque_off
End Sub
Private Sub btn_Espèces_MouseHover(sender As Object, e As EventArgs)
btn_Espèces.Image = My.Resources.Espèces_on
End Sub
Private Sub btn_Espèces_MouseLeave(sender As Object, e As EventArgs)
btn_Espèces.Image = My.Resources.Espèces_off
End Sub
Private Sub btn_Avoir_MouseHover(sender As Object, e As EventArgs)
btn_Avoir.Image = My.Resources.Avoir_on
End Sub
Private Sub btn_Avoir_MouseLeave(sender As Object, e As EventArgs)
btn_Avoir.Image = My.Resources.Avoir_off
End Sub
Private Sub Usr_Ticket_Client_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Lbl_Date_Ticket.Text = DateTime.Today.ToLongDateString
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
Lbl_Ticket_Ligne_1.Text = lbl_Ticket_Ligne
End Sub |
Le déboguage du programme m'indique "Nothing" dans la variable lbl_Ticket_Ligne.
Pourriez-vous m'éclairer sur la manière de remplir dynamiquement mes labels dans mon UC2 quand je clique sur un bouton de l'UC1?
Merci beaucoup pour votre aide.
Cordialement.