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

Windows Forms Discussion :

projet avec listbox


Sujet :

Windows Forms

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 1
    Points
    1
    Par défaut projet avec listbox
    bonjour,
    je suis entrain de travailler sur un petit projet de facture de resto et j'ai créer un listbox et j'aimerais chaque fois que l'usager clique sur un item pour le selectionner et ensuite clique sur le bouton supprimer que l'item soit supprimer de la liste mais que aussi le prix associé à cet item soit soustrait du montant total. Je suis capable d'enlever un item du listbox avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lstFacture.Items.Remove(lstFacture.SelectedItem)
    mais comment faire soustraire le prix de l'item du montant total j'en ai aucune idée.

    je suis débutant en vb.net je connaît pas toutes les fonctions disponible pour accomplir certaines tâches.

    merci.

  2. #2
    Membre habitué Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Points : 196
    Points
    196
    Par défaut
    Je ne comprend pas bien ton problème...
    Tu récupère la valeur de l'item séléctionné et tu fais une soustraction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            Dim PrixASoustraire As Integer = lstFacture.Items.Item(lstFacture.SelectedIndex)
            NouveauMontant = MontantTotal - PrixASoustraire

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    bien jai des bouttons qui ajoutes des objets dans le listbox et j'aimerais assosier un prix avec chaque objet donc quand on le supprime du listbox le montant de cet objet là ce soustrait du total.

    j'ai attaché une image de mon programme à ce message pour que vous puissiez comprendre on peut le concept de ce que j'essaie d'accomplir
    Images attachées Images attachées  

  4. #4
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Tu remplies comment la liste ? Ce sont juste des chaînes de caractères ?
    Pas de questions techniques par MP

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    oui c'est ca c'est juste du texte qui ce fait ajouter

  6. #6
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    A ce moment défini une classe qui représente ton produit. En gros un prix, un libellé et éventuellement un libellé spécifique pour l'affichage si on reprend ton exemple avec une ListBox. Pas utile avec un DataGridView.

    Par exemple
    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
    Public Class Produit
       Private _libelle As String
       Private _prix As Decimal
     
       Public ReadOnly Property Libelle() As String
           Get
               Return _libelle
           End Get
       End Property
     
       Public ReadOnly Property Prix() As Decimal
           Get
               Return _prix
           End Get
       End Property
     
       Public ReadOnly Property Affichage() As String
           Get
               Return _libelle + " ----> " + _prix
           End Get
       End Property
     
       Public Sub New(ByVal libelle As String, ByVal prix As Decimal)
           _libelle = libelle
           _prix = prix
       End Sub
    End Class
    Ensuite tu crées une liste de produits qui sera liée avec la ListBox (DataBinding)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim produits As List(Of Produit) = New List(Of Produit)()
     
    produits.Add(New Produit("produit 1", 12.56D))
    produits.Add(New Produit("produit 2", 3.14D))
     
    listBox1.DataSource = produits
    listBox1.DisplayMember = "Affichage"
    Ainsi tu n'auras plus des chaînes de caractères dans ta liste mais des objets, Produit dans l'exemple, possédant un prix. Pour accéder à l'item sélectionné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim produit As Produit = DirectCast(listBox1.SelectedItem, Produit)
    Pas de questions techniques par MP

  7. #7
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    ah ok c'est un peu plus compliqué que je pensait pour mon calibre je vais essayer de faire fonctionner le programme avec le code que vous m'avez donner, je n'est pas vraiment apris les classes j'utilise juste celle du formulaire d'habitude, le get et le return non plus je n'ai pas appris, mais je vais essayer de faire le tout fonctionner.

    merci

  8. #8
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Points : 123
    Points
    123
    Par défaut
    Si tu ne connais pas les class et que tu as commencé ton programme sans les classes, opte plutôt pour la solution que t'as donné benito9253 plus haut.
    Avant chaque supression d'un item de ta listbox tu sauvegarde le prix de cet item dans une variable. tu supprime ton item de ta listbox. Et tu réalisé une soustraction du montant actuel - ta variable sauvegardé.

    Sinon tu peux créer une vue qui te donne le montant total de tes factures. A chaque fois que tu modifiera les données de ta listbox, la vue sera mise à jour également. Ainsi tu obtiendra ton montant total de facture en temps réel.

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    donc j'ai essayer la methode a benoît mais le programme plantait, donc j'ai essayer ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim boisson As Integer = lstFacture.Items.Add("Boisson Gazeuse---->2.25$")
            boisson = 2.25
    mais je sais pas comment faire en sorte que listbox.selecteditem sache quel item est selectionner, si c'est une bière our une boisson gazeuse car ils peuvent être ajouté dans n'importe quel ordre

  10. #10
    Membre régulier
    Inscrit en
    Avril 2008
    Messages
    151
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 151
    Points : 123
    Points
    123
    Par défaut
    Pourquoi ne pas faire :

    Lorsque tu clik sur le bouton boisson Gazeuze -->2,25$ tu ajoute une ligne directement dans la listbox...??? et tu mets à jour le montant total.

    Voici une solution qui fonctionne:
    - j'ai une form2
    - j'ai un bouton Button1
    -j'ai une listbox Lisfacture

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim ajoutuneboissongazeuze As Decimal = 2.25
            Dim valeurmontantactuel As Decimal
            Dim nouveaumontant As Decimal
            Lisfacture.Items.Add("Boisson Gazeuze --> 2,25$")
     
            If Label_montantotal.Text = "" Then
                Label_montantotal.Text = 2.25
            ElseIf Label_montantotal.Text <> "" Then
                valeurmontantactuel = Label_montantotal.Text
                nouveaumontant = Val(ajoutuneboissongazeuze) + Val(valeurmontantactuel)
                Label_montantotal.Text = Val(CDec(nouveaumontant))
            End If
        End Sub
    Je te laisse faire lorque tu supprime une valeur

  11. #11
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    comme cela j'ai une variale sous-total pour ajouter la somme de l'item au soustotal donc chaque fois que je clique sur le boutton le montant s'ajoute à la variable et ensuite elle est afficher dans un label voici un exemple de code pour un des boutons, je vais essayer avec le If que tu ma proposer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub cmdBoisson_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBoisson.Click
            Dim boisson As Integer
            lstFacture.Items.Add("Boisson Gazeuse---->2.25$")
            boisson = 2.25
            soustotal1 = soustotal1 + 2.25
            lblSoustotal.Text = soustotal1.ToString("c")
            taxe1()
            Total1()
     
     
        End Sub

  12. #12
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    je voulait savoir quoi sert les _ en avant des variables comme dans _libelle?

  13. #13
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    C'est juste une convention d'écriture de certains développeurs. Un champ préfixé par _ signifie généralement qu'il est privé.
    Pas de questions techniques par MP

  14. #14
    Nouveau Candidat au Club
    Inscrit en
    Janvier 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 8
    Points : 1
    Points
    1
    Par défaut
    ah ok j'etait entrain d'essayer de comprendre votre code ligne par ligne pour comprendre comment l'utilisé j'ai le manuel pdf dut site aussi donc je fait référence pour essayer de comprendre comment le code fonctionne

Discussions similaires

  1. [Plugin] Bouton browse projet avec filtre
    Par jcarre dans le forum Eclipse Platform
    Réponses: 4
    Dernier message: 09/04/2004, 13h56
  2. [Eclipe 2.1.1]Projet avec fichiers sources existants
    Par mfofana dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 26/02/2004, 05h20
  3. Créer un projet avec TurboC++
    Par Thrystan dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 06/09/2003, 17h32
  4. Réponses: 4
    Dernier message: 25/08/2003, 09h02
  5. [Kylix] Projet avec fenetre marche pas
    Par Therich dans le forum EDI
    Réponses: 1
    Dernier message: 11/07/2003, 12h34

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