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

Dotnet Discussion :

[VB.NET] Passer des variables d'un UC à un autre


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Par défaut [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 : 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
    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 : 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
    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.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    Salut,
    je n'y connais plus grand chose en VB.NET, mais dans la doc suivante la property est déclarée différemment :
    https://www.dotnetperls.com/property-vbnet

    Normalement tu définis un Set et un Get pour gérer s'il est en lecture , écriture ou les deux.
    Mais SURTOUT, tu refiles la donnée à une variable locale de la classe, comme dans l'exemple, parce qu'une property est en quelque sorte une fonction et n'est pas destinée à stocker une variable. (en tout cas en c#)

    PS:
    plus simple, tu peux juste virer le mot "property" pour en faire une simple variable vu que tu n'as pas vraiment l'utilité d'une property dans ce cas.

Discussions similaires

  1. Passer des variables d'un fichier à l'autre
    Par methodman225 dans le forum Langage
    Réponses: 2
    Dernier message: 16/12/2007, 14h22
  2. Passer des variables d'une form à l'autre
    Par flydan dans le forum Débuter
    Réponses: 3
    Dernier message: 11/10/2007, 13h19
  3. [débutant]Passer des variables d'une page à une autre
    Par MayOL69bg dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/03/2007, 10h53
  4. [VB.NET]Passer des variable de form en form ? Débutant
    Par johnvox dans le forum Windows Forms
    Réponses: 7
    Dernier message: 25/12/2006, 19h28
  5. Réponses: 3
    Dernier message: 07/08/2006, 11h42

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