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

C# Discussion :

valeurs d'une listbox


Sujet :

C#

  1. #1
    Membre habitué Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Points : 134
    Points
    134
    Par défaut valeurs d'une listbox
    Bonjour à tous et à toutes,
    j'ai un formulaire dans lequel il y a une listbox,
    la valeur dans la listeBox est mise dans une variable
    j'ai une autre classe A
    j'ai crée un objet de cette variable que je veux mettre a jour dans A
    cette variable est utilisé pour mettre a jour d'autre constantes dans cette A,
    seulement il ne sont pas mis a jour lorsque la valeur de la listbox change,
    quelqu'unà une idée?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 206
    Points : 196
    Points
    196
    Par défaut
    N'y aurait il pas confusion ?

    Une ListBox peut contenir plusieurs éléments : donc parles tu de l'élément sélectionné de ta ListBox ou alors d'une TextBox ?

    Toujours est il qu'il existe un évènement indiquant la modification (soit du TextBox, soit de la sélection de la ListBox) que tu pourrais utiliser afin de mettre à jour ta variable dans ton form A, au travers d'une propriétés par exemple (ou d'une fonction public de A).

    Sinon en terme de langage, je ne suis pas certains qu'une variable puisse mettre à jour une constante.

  3. #3
    Membre habitué Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Points : 134
    Points
    134
    Par défaut
    Merci pour ta reponse
    je parlais de l'element selectionné de la listBox
    J'ai crée un projet pour l'exemple, j'ai le meme soucis:
    le voici:
    sur ma form principal il y a une listBox et un bouton

    le bouton dois afficher la valeur de la list box en passant par la classe, (en fait cette valeur est traité par cette classe, mais je ne montre pas cette etape pour simplifier)

    Le formulaire principale contient le code suivant:

    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
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace Test
    {
        public partial class Form1 : Form
        {
            CLass Class1;
     
            static string ListBoxValue;
     
            public Form1()
            {
                Class1 = new CLass();
                InitializeComponent();
                SpeedListBox.SelectedIndex = 3;
            }
            //-------------------------------------------------------------------------------------------
     
            private void Form1_Load(object sender, EventArgs e)
            {
            }
            //-------------------------------------------------------------------------------------------
            public string GetListBoxValue
            {
                get { return ListBoxValue; }
            }
            //-------------------------------------------------------------------------------------------
     
            private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                ListBoxValue = SpeedListBox.Text;
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                Class1.affiche();
            }
        }
    }
    la classe contien le code suivant:

    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO.Ports;
    using System.Windows.Forms;
    using System.ComponentModel;
    using System.Threading;
     
     
    namespace Test
    {
        class CLass
        {
     
            static Form1 LeTest = new Form1();
            static string WavePointString = LeTest.GetListBoxValue;
     
            public void affiche()
            {
                MessageBox.Show(WavePointString);
            }
     
        }
    }
    j'ai toujours la valeurs 40 qui s'affiche parceque c'est elle qui est specifié par selectedIndex=3
    voila
    merci encore !

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 134
    Points : 92
    Points
    92
    Par défaut
    euh, ou c'est moi, ou il y a des trucs pas claires dans ton code. Trop incohérent à mes yeux ou je suis débile.

    Pourquoi dans ta classe CLass tu instancie Form1 ? Cela ne représentera pas du tout l'instance de de formulaire de démarrage (Form1).

    Je ne voix pas l'intérêt de te compliquer autant la vie si il n'y a pas de raison valable à cela.

    Pour quoi ne pas faire comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            private void button1_Click(object sender, EventArgs e)
            {
               if(SpeedListBox.SelectedIndex!=-1)
               {
                  MessageBox.Show(SpeedListBox.SelectedItem.ToString());
               }
            }

  5. #5
    Membre habitué Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Points : 134
    Points
    134
    Par défaut
    en fait c simple,
    les valeurs de la listbox doivent etre traité dans la classe, puis renvoyé a la form principale

    (ca ne m'affiche pas d'erreur pourtant à la compilation si).

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 134
    Points : 92
    Points
    92
    Par défaut
    Ok alors pourquoi ne pas essayer cela.

    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
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
     
    namespace Test
    {
        public partial class Form1 : Form
        {
            CLass Class1;
     
            static string ListBoxValue;
     
            public Form1()
            {
                Class1 = new CLass(SpeedListBox);
                InitializeComponent();
                SpeedListBox.SelectedIndex = 3;
            }
            //-------------------------------------------------------------------------------------------
     
            private void Form1_Load(object sender, EventArgs e)
            {
            }
            //-------------------------------------------------------------------------------------------
            public string GetListBoxValue
            {
                get { return ListBoxValue; }
            }
            //-------------------------------------------------------------------------------------------
     
            private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                ListBoxValue = SpeedListBox.Text;
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                Class1.affiche();
            }
        }
    }

    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
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.IO.Ports;
    using System.Windows.Forms;
    using System.ComponentModel;
    using System.Threading;
     
     
    namespace Test
    {
        class CLass
        {
     
            ListBox m_lstItem;
            Private string WavePointString;
     
            public void CLass(ListBox x_lstBox)
            {
                m_lstItem = x_lstBox;
                WavePointString = m_lstItem.SelectedItem.ToString();
            }
     
            public void affiche()
            {
                WavePointString = m_lstItem.SelectedItem.ToString();
                MessageBox.Show(WavePointString);
            }
     
        }
    }

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/06/2007, 20h54
  2. [ATL] Compter les valeurs d'une listBox
    Par MrMaze dans le forum MFC
    Réponses: 2
    Dernier message: 01/08/2006, 10h08
  3. Réponses: 10
    Dernier message: 23/05/2006, 17h42
  4. Attribuer des valeurs dans une ListBox
    Par OjBarbare dans le forum MFC
    Réponses: 5
    Dernier message: 06/12/2005, 11h28
  5. Apelle d une fonction js avec la valeur d'une listbox
    Par echecetmat dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 15/02/2005, 16h53

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