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 :

Récupérer Valeur d'une comboBox simplement?


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Points : 10
    Points
    10
    Par défaut Récupérer Valeur d'une comboBox simplement?
    Bonjour a tous : )



    Alors voilà je fait mon petit bout de chemin avec mon application et mon problème de comboBox,



    Je pense être sur la bonne voie, donc voici le code dans un premier temps

    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
    private void button20_Click(object sender, EventArgs e)
            {
     
                byte test = Convert.ToByte(comboBox1.SelectedValue);
                byte[] Testcombobox = new byte[] { 0, ((byte)test), 0x00, 0x12 };
                PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, 0x01c19810, Testcombobox);
            }
     
     
            private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e)
            {
     
                {
                    {
                        if (comboBox1.SelectedText == "Desert Eagle")
                        {
                            comboBox1.SelectedValue = 0x04;
                        }
                        if (comboBox1.SelectedText == "MP412")
                        {
                            comboBox1.SelectedValue = 0x02;
                        }
                        if (comboBox1.SelectedText == "Magnum")
                        {
                            comboBox1.SelectedValue = 0x03;
                        }
     
                    }
                }
            }

    Donc voilà, en gros je veux recuperer a l'endroit du premier byte enfin le 0 tout dépend de vous, la valeur qui correspond au choix séléctionner dans la comboBox c'est a dire,



    Que si la personne choisis Desert Eagle dans la comboBox ca recupere la valeur assigner a ce dernier "0x04" et la place a l'endroit ou il y a écrit test c'est a dire le premier byte (ou 0 dépend de vous ^^)



    Cependant cela ne fonctionne pas, j'ai essayer plusieurs choses,



    Ce que je ne comprend pas c'est que si je ne met pas le convert ca me met l'erreur "n'est pas défini a une instance bla bla"

    et donc pourquoi convertir quelque chose que je ne veux pas convertir?

    Je souhaite tout simplement récupérer cette fichu valeur qui correspond a ce qui est sélectionner et la placer a la place du byte choisis....



    Voilà tout est dit j'espère avoir été clair,

    Avis aux Expert et ceux qui aiment les défis, mon problème reste encore a ce jour non résolu :/



    Merci a vous! : )

  2. #2
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Ce que je ne comprend pas c'est que si je ne met pas le convert ca me met l'erreur "n'est pas défini a une instance bla bla"

    et donc pourquoi convertir quelque chose que je ne veux pas convertir?
    Salut,
    c'est normal, la valeur renvoyé par comboBox.selectedValue est du type objet c'est pour cela qu'il te demande une conversion explicite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (byte)comboBox.SelectedValue
    marcherais aussi bien.

    Je souhaite tout simplement récupérer cette fichu valeur qui correspond a ce qui est sélectionner et la placer a la place du byte choisis....
    De la façon que tu fais, je ne vois pas vraiment plus simple. Après pour faire plus propre, tu pourrais créer une classe "Arme" contennant les info dont tu as besoin sur chaque arme (le bite associé compris), faire une liste avec tout tes objets et faire qq chose comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public Mafenetre(){
        List<Arme> listeMesArmes = new List<Arme>();
    //Function pour remplir ta liste
        MaComboBox.DataSource = listeMesArmes;
        MaComboBox.DisplayesMember = "Nom";
    }
     
    private void button20_Click(object sender, EventArgs e)
            {
                byte test = (Arme)(MaComboBox.SelectedItem).monByte;
                byte[] Testcombobox = new byte[] { 0, ((byte)test), 0x00, 0x12 };
                PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, 0x01c19810, Testcombobox);
            }
    En espérant t'avoir aidé.
    Cordialement.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Bonjour et merci : )

    Le code modifier qui correspond a ma combobox est le suivant(de ce que tu m'a donner)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public Mafenetre(){
        List<Arme> listeMesArmes = new List<Arme>();
    //Function pour remplir ta liste
        comboBox1.DataSource = listeMesArmes;
        comboBox1.DisplayMember = "Nom";
    }
     
    private void button20_Click(object sender, EventArgs e)
            {
                byte test = (Arme)(comboBox1.SelectedItem).monByte;
                byte[] Testcombobox = new byte[] { 0, ((byte)test), 0x00, 0x12 };
                PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, 0x01c19810, Testcombobox);
            }
    j'ai comme erreur avec ce code, "Mafenetre", "Arme" & ".monByte",
    Comment créér une classe pour une arme en lui associant le byte etc?

    en utilisant par exemple quelque chose du genre "Arme.Add"?

    J'ai vraiment du mal avec celle saleté de comboBox, je trouve ca très mal foutu,

    J'avait essayer toute une multitude de solution en vain :/

    Cordialement.

  4. #4
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Citation Envoyé par Unknauwn Voir le message
    Bonjour et merci : )
    j'ai comme erreur avec ce code, "Mafenetre", "Arme" & ".monByte",
    Comment créér une classe pour une arme en lui associant le byte etc?
    Cordialement.
    Tu crés une classe qui décris ton arme:

    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
     
    class Arme
        {
            private String _nom;
            private byte _monByte;
     
            public String Nom
            {
                get
                {
                    return _nom;
                }
                set
                {
                    _nom = value;
                }
            }
     
            public byte Monbyte
            {
                get
                {
                    return _monByte;
                }
                set
                {
                    _monByte = value;
                }
            }
            // Tu peut mettre tout autre champ que tu pense necessaire pour "décrire" ton arme
        }
    Ensuite pour l'erreur "Mafenetre", c'est normal c'était juste pour te dire que tu peux faire ça dans le constructeur de ta fenetre ( aprèse le InitializeComponent() bien sur).
    Dans le constructeur de ta fenêtre par exemple, tu instancis tes objets Arme:
    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
     
        InitializeComponent();
        List<Arme> mesArmes = new List<Arme>();
     
        Arme monDeagle = new Arme();
        monDeagle.Nom = "Desert Eagle";
        monDeagle.Monbyte = 0x04;
     
    // tu refait la manip pour les autres.
        mesArmes.add(monDeagle);
    //pareil pour les autres
     
    // tu dis à ta Cbox que la source à afficher est cette list
        comboBox1.DataSource = mesArmes;
    //tu lui dis que tu veux que se soit cette propriété de l'objet à afficher
        comboBox1.DisplayMember = "Nom";
    (n'oublie pas si besoin d'ajouter dans t'es using le chemin vers ta classe arme).

    Pour le reste tu dois pouvoir garder se qu'il y dans la private void button20_Click

    J'espère avoir été le plus clair possible.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Razorflak Voir le message
    Tu crés une classe qui décris ton arme:

    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
     
    class Arme
        {
            private String _nom;
            private byte _monByte;
     
            public String Nom
            {
                get
                {
                    return _nom;
                }
                set
                {
                    _nom = value;
                }
            }
     
            public byte Monbyte
            {
                get
                {
                    return _monByte;
                }
                set
                {
                    _monByte = value;
                }
            }
            // Tu peut mettre tout autre champ que tu pense necessaire pour "décrire" ton arme
        }
    Ensuite pour l'erreur "Mafenetre", c'est normal c'était juste pour te dire que tu peux faire ça dans le constructeur de ta fenetre ( aprèse le InitializeComponent() bien sur).
    Dans le constructeur de ta fenêtre par exemple, tu instancis tes objets Arme:
    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
     
        InitializeComponent();
        List<Arme> mesArmes = new List<Arme>();
     
        Arme monDeagle = new Arme();
        monDeagle.Nom = "Desert Eagle";
        monDeagle.Monbyte = 0x04;
     
    // tu refait la manip pour les autres.
        mesArmes.add(monDeagle);
    //pareil pour les autres
     
    // tu dis à ta Cbox que la source à afficher est cette list
        comboBox1.DataSource = mesArmes;
    //tu lui dis que tu veux que se soit cette propriété de l'objet à afficher
        comboBox1.DisplayMember = "Nom";
    (n'oublie pas si besoin d'ajouter dans t'es using le chemin vers ta classe arme).

    Pour le reste tu dois pouvoir garder se qu'il y dans la private void button20_Click

    J'espère avoir été le plus clair possible.
    Merci encore pour ton aide précieuse, tu me fait avancer dans mon problème petit a petit : D

    Alors j'ai bien placer le code etc dans le constructeur no soucis

    j'ai placer la Classe Arme au dessus de mon bouton nickel ok

    en revanche dans le bouton j'ai une erreur au niveau du .monByte,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     private void button20_Click(object sender, EventArgs e)
            {
                byte test = (Arme)(comboBox1.SelectedItem).monByte;
                byte[] Testcombobox = new byte[] { 0, ((byte)test), 0x00, 0x12 };
                PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0, 0x01c19810, Testcombobox);
            }
    Ca me le surligne en rouge disant

    "'object' ne contient pas une définition pour 'monByte' et aucune méthode d'extension 'monByte' acceptant un premier argument de type 'object' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante*?)"

    J'ai essayer en jouant sur les majuscule MonByte, Monbyte, monByte et rien n'y fait toujours cette erreur :/

    Une idée?

    Cordialement et merci encore c'est vraiment sympa : )

  6. #6
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Désolé, my bad
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte test = ((Arme)MaComboBox.SelectedItem).monByte;
    j'avais mal placé ma parenthèse. Ca devrait être mieux.

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Razorflak Voir le message
    Désolé, my bad
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte test = ((Arme)MaComboBox.SelectedItem).monByte;
    j'avais mal placé ma parenthèse. Ca devrait être mieux.
    Non toujours pareil a la différence que l'erreur est toujours là mais ce n'est plus la même ^^

    "'Mw3_Stats_Changer_By_Unknauwn.Form1.Arme' ne contient pas une définition pour 'monByte' et aucune méthode d'extension 'monByte' acceptant un premier argument de type 'Mw3_Stats_Changer_By_Unknauwn.Form1.Arme' n'a été trouvée (une directive using ou une référence d'assembly est-elle manquante*?)"

    Merci de prendre de ton temps pour m'aider c'est vraiment généreux de ta part

    Cordialement.

  8. #8
    Membre habitué Avatar de Razorflak
    Homme Profil pro
    Développeur Flex/AS3
    Inscrit en
    Juin 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Flex/AS3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 97
    Points : 192
    Points
    192
    Par défaut
    Okay, la c'est un problème avec la classe Arme.
    Je te conseil de la placé dans un fichier .cs à par de ta fênetre (sa te permettra de la réutiliser si besoin dans un autre ecran).
    Ensuite, si tu as utilisé mon code, sa devrait être plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte test = ((Arme)MaComboBox.SelectedItem).Monbyte;
    Monbyte est le nom de la propriété dans ta classe Arme.
    Si tu bosse avec Visual Studio, utilise l'auto complétion, sa aide bien pour ce genre de petit détail

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 18
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Razorflak Voir le message
    Okay, la c'est un problème avec la classe Arme.
    Je te conseil de la placé dans un fichier .cs à par de ta fênetre (sa te permettra de la réutiliser si besoin dans un autre ecran).
    Ensuite, si tu as utilisé mon code, sa devrait être plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte test = ((Arme)MaComboBox.SelectedItem).Monbyte;
    Monbyte est le nom de la propriété dans ta classe Arme.
    Si tu bosse avec Visual Studio, utilise l'auto complétion, sa aide bien pour ce genre de petit détail
    C'est super mec!!!!

    Je te remercie encore, tu ma appris comment utiliser et coder un comboBox au bout de 4jours de galere!!

    Merci encore de ta pédagogie et de ton aide très précieuse : D

    Au passage j'ai ajuster mon code pour que ca fonctionne dans la jeu au niveau des bytes : )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    byte silencer = ((Arme)comboBox1.SelectedValue).Monbyte;
                byte[] Testcombobox = new byte[] { silencer, 0x00, 0x12 };
                ulong classe = ((Classe)comboBox2.SelectedValue).MonUlong;
                PS3TMAPI.ProcessSetMemory(0, PS3TMAPI.UnitType.PPU, ProcessID, 0,classe, Testcombobox);
    j'en ai profiter pour utiliser une 2eme combobox et fait appel a la valeur de type ulong de cette derniere comme tu ma appris pour le byte et tout fonctionne merci encore BEAUCOUP de ton aide !

    : ) )))))

Discussions similaires

  1. [XL-2003] Récupérer le numéro de ligne ou est situé la valeur d'une combobox
    Par mentat dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 29/08/2009, 12h04
  2. Récupérer les valeurs d'une combobox
    Par Many31 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/07/2009, 15h16
  3. Réponses: 1
    Dernier message: 29/07/2006, 10h08
  4. Récupérer la valeur d'une combobox
    Par Invité dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2006, 15h20
  5. Réponses: 2
    Dernier message: 29/05/2005, 19h50

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