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

VB.NET Discussion :

probleme de save et load des combobox


Sujet :

VB.NET

  1. #1
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 323
    Par défaut probleme de save et load des combobox
    Bonsoir,

    j'ai un petit problème pour sauvegarder le nom dans combobox1 par rapport une couleur de mon choix dans combobox2.

    dans mon combobox1 4 list de mot :
    circle
    line
    text
    form1

    dans combobox2 une list de couleur( voir image)
    https://i.stack.imgur.com/fqFcw.png

    mon code load from1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    If My.Settings.MyColor Is Nothing Then My.Settings.MyColor = New Specialized.StringCollection
                Dim CBOX = Me.Controls.OfType(Of ComboBox)().ToArray
                For i = 0 To CBOX.Length - 1
                    CBOX(i).SelectedIndex = My.Settings.MyColor(i)
                Next
    End Sub
    mon code clos form1 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     Private Sub Form1_FormClosing(sender As System.Object, e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
            For Each TCBOX As ComboBox In Me.Controls.OfType(Of ComboBox)().ToArray
                If Not String.IsNullOrEmpty(TCBOX.Text) Then
                    My.Settings.MyColor = New Specialized.StringCollection()
                    My.Settings.MyColor.Clear()
                    Dim CBOX = Me.Controls.OfType(Of ComboBox)().ToArray
                    For i = 0 To CBOX.Length - 1
                        My.Settings.MyColor.Add(CBOX(i).SelectedIndex)
                    Next
                End If
            Next
        End Sub
    pouvez-vous m'aider à enregistrer chaque nom dans list combobox1 une couleur dans combobox2? merci d'avance

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 921
    Par défaut
    Merci de faire attention à la clarté de la demande.
    Pour moi tes phrases n'ont aucun sens.

    La seule chose clair pour moi, c'est le code.
    Et de ce coté là, il y a quelques incohérences.
    MyColor contient des chaînes et tu t'en sert pour affecter CBOX(i).SelectedIndexPourquoi deux boules imbriquées qui vont chercher rigoureusement les mêmes combo ?
    Pourquoi vider une collection déjà vide puisque toute neuve ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    For Each TCBOX As ComboBox In Me.Controls.OfType(Of ComboBox)().ToArray
                If Not String.IsNullOrEmpty(TCBOX.Text) Then
                    My.Settings.MyColor = New Specialized.StringCollection()
                    My.Settings.MyColor.Clear()
                    Dim CBOX = Me.Controls.OfType(Of ComboBox)().ToArray
                    For i = 0 To CBOX.Length - 1
                        My.Settings.MyColor.Add(CBOX(i).SelectedIndex)
                    Next
                End If
            Next

  3. #3
    Membre éprouvé
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2018
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2018
    Messages : 323
    Par défaut
    Bonjour Popo,

    je vous répliquer correctement mon problème, c'est dans combobox1 j'ai 5 liste de mot par rapport à une classe et dans combobox2, il y a une liste de couleurs.
    mon but c'est enregistrer la liste de couleur que j'ai choisi par rapport a liste de mon dans combobox1.

    exemple :
    1. combobox1 : Cercle et dans combobox2 : color.red
    2. Combobox1 : Line et dans combobox2 : color.LimeGreen
      ..etc


    dans combobox 2 :
    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
    Private Sub ComboBox2_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox2.SelectedIndexChanged
            If ComboBox2.SelectedIndex >= 0 Then
                Select Case ComboBox1.SelectedIndex
                    Case 0
                        Myclasse.ColorCircle = Color.FromName(ComboBox2.Items(ComboBox2.SelectedIndex))
                    Case 1
                        Myclasse.ColorLine = Color.FromName(ComboBox2.Items(ComboBox2.SelectedIndex))
                    Case 2
                        Myclasse.ColorText = Color.FromName(ComboBox2.Items(ComboBox2.SelectedIndex))
                    Case 3
                        Myclasse.ForeColor = Color.FromName(ComboBox2.Items(ComboBox2.SelectedIndex))
                    Case 4
                        Me.BackColor = Color.FromName(ComboBox2.Items(ComboBox2.SelectedIndex))
                End Select
            End If
        End Sub
    je voudrais en enregistrer une couleur chaque mot dans combobox1 et charger la couleur par rapport la list de mot dans combobox1. avez-vous idée comment puis-je fait cela? Merci d'avance

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 921
    Par défaut
    De ce que je vois par rapport à ce code, c'est que
    - tu as un Object MyClass avec des propriétés.
    - les noms de ces propriétés sont les textes des items de ComboBox1
    - ces propriété sont de type Color
    - ComboBox2 contient des nom de couleur.

    Et tu cherches à mettre la couleur correspondant au texte de ComboBox2 dans la propriété de MyClass dont le nom correspond au texte de ComboBox1.

    Si c'est bien ça alors le code que tu as posté devrait fonctionner.
    L'inconvénient, c'est que cela devient lourd si tu as beaucoup de propriétés.
    Il est toutefois possible de passer par la reflexion.

    De mémoire, un truc comme ceci devrait faire le job :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyClass.GetType().GetProperty(ComboBox1.Text).SetValue(MyClass, Color.FromName(ComboBox2.Text);

Discussions similaires

  1. [XL-2013] Probleme d'affichage dans listbox en fonction du choix des combobox vba
    Par sakhob dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/11/2017, 09h00
  2. [Math]Problème troncage ou arrondi sur des valeurs
    Par Carrel dans le forum Général Java
    Réponses: 6
    Dernier message: 07/10/2009, 15h11
  3. Choisir les noms des variables avec SAVE et LOAD
    Par Bktero dans le forum MATLAB
    Réponses: 2
    Dernier message: 07/08/2009, 10h00
  4. [langage] probleme avec les listes dans des listes
    Par pqmoltonel dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2004, 12h32
  5. [] [Install] Problème de mise à jour des dll
    Par pepper dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 23/01/2003, 22h34

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