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 :

Modifier la collection d'un ComboBox et autres


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2017
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2017
    Messages : 36
    Par défaut Modifier la collection d'un ComboBox et autres
    Bonjour, Bonsoir,

    (oui je pense qu'il faudra bientôt créé un forum juste pour mes questions bêtes ^^...)


    Alors plusieurs questions:

    1: Est-il possible de mettre une ArrayList que j'ai initialisé, dans un ComboBox en tant que collection avec une simple ligne de code (sans avoir à ajouté item par item). Si oui, comment?

    2: Est-il possible de rétablir la couleur de base d'un control? Si oui, comment?

    3: Est ce que vous connaissez un site qui liste toutes les méthodes possible ( de manière "compacte" du même style que ce que j'ai fait juste en dessous durant plusieurs heures en piochant les différentes méthodes par ici et par la ....)

    Merci d'avance pour vos réponses

    List / ArrayList :
    Il y a les List, comme dans l'exemple simpliste. On a un Index pour repérer les éléments.(Pas de clé).

    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
    Imports System.Collections
    Dim L As New ArrayList()     'On crée une collection ArrayList
    Imports System.Collections.Generic
    Dim lst As New List(Of Decimal) 'Créons une liste ne contenant que des 'Decimal'.
     
    L.Add("Bonjour")             'On ajoute un élément à la collection
     
    Dim L As ArrayList = ArrayList.Repeat("A", 5) 'On crée une ArrayList de 5 éléments contenant chacun  "A" (on répète "A")
     
    i = L(0)   			'Affiche le 1er élément
     
    i = L.Count     		'On affiche le nombre d'élément.
     
    L.Remove("Bonjour")          'On enlève l'élément de la liste qui contient "Bonjour"
     
    L.RemoveAt(0)                'On enlève l'élément 0 de la liste
     
    L.Sort()                     'Trie la collection
     
    L.Clear()                    'Efface tous les éléments
     
    L.Contains (élément)        ' Retourne True si la liste contient élément.   
     
    L.Insert( position, Ainserrer) ' Insérer à un index spécifié
     
    L.Containts (élément)     ' Retourne True si la liste contient 'élément'.
     
    i = l.BinarySearch("lulu") ' Cherche le string dans une collection trié
     
    L.Add(Nothing)    		'est accepté: on ajoute un élément vide
     
    lst.Remove("lulu")    		'supprime le premier élément contenant "lulu"
     
    lst.RemoveAt(3)       		'supprime le 4ème élément
     
    lst.RemoveRange(3,2)  		'supprime du 4ème élément au 5ème élément
     
    lst.IndexOf("lulu") 	'retourne l'index de l'élément qui contient "lulu" 
     
    lst.IndexOf("lulu", 2,7) recherche à partir de l'élément 2 et sur 7 éléments.
     
    Dim array(14) As String 'tableau
     
    lst.CopyTo(array)       'copier la list dans le tableau
     
    lst.CopyTo(array, 6)    'copier 6 éléments de la list dans le tableau
     
    lst.CopyTo(2, array, 12, 3)  'index de départ dans list, tableau, index de départ dans array, nombre
    Hashtable

    C'est un 'Dictionnaire' qui comporte des couples clé-élément, des paires clé-valeur.
    Ces couples sont de type Objet-Objet.
    La clé toujours unique permet de retrouver la valeur, La clé ne doit pas être vide non plus.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim H As New Hashtable
    H.Add(Clé,Valeur) 		'Ajoute un élément
    H.Item(Clé)  			'Retourne l'élément correspondant à une clé.
    H.ContainsKey(Clé)  	'Retourne True si la Clé est dans la table.
    H.ContainsValues(Valeur) 	'Retourne True si la valeur est dans la table.
    H.Clear 			'Efface tous les éléments
    H.Remove(Clé) 		'Supprime l'élément ayant une clé spécifiée.
    i = H.Item("trois")     'Recherche la valeur correspondant à la clé "trois"
    Dictionnary

    A partir de VB 2005, il y a cette collection de type Dictionnaire (Clé-Valeur) mais elle utilise les génériques.
    La clé doit être unique (pas de doublon de clé).
    La récupération d'une valeur à partir de sa clé est très rapide.(Utilisation d'un hachage)


    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
    Dim Dic As New Dictionary(Of String, String) ' Créons un Dictionnary avec des clés de type String et des valeurs de type String.
     
    If Not Dic.ContainsKey("ht") Then ' Ajout d'élément en vérifiant si la clé n'existe pas
     
             Dic.Add("ht", "hypertrm.exe")
     
    End If
     
    Dic("doc") = "winword.exe" 	' Modifier la valeur correspondant à la clé 'doc'
     
    i = "winword.exe" 		' Récupérer une valeur correspondant à une clé
     
    Dic.Remove("doc") 		'Enlever un élément
     
    Dic.ContainsKey("ht")		' permet aussi de tester si une clé existe.


    SortedList

    Combine List et Dictionnaire avec un tri automatique.
    Il permet l'accès aux valeurs par l'intermédiaire des clés associées ou des index.
    C'est un hybride de HashTable et de Array.
    La séquence d'index est basée sur la séquence de tri. Quand un élément est ajouté, il est inséré dans l'ordre de tri adéquat, et l'indexation s'ajuste en conséquence. Le tri est donc automatique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    mySL.Add(Clé,Valeur) ' Permet d’ajouter un élément
    mySL.Item(CLE) 'retourne la valeur correspondant à la clé CLE
     
    mySL.GetKey(3) 'retourne la Clé qui est dans l'élément d'index 3
     
    mySL.GetByIndex(3) 'retourne la valeur qui est dans l'élément d'index 3
     
    mySL.Count	    'Nombre d'éléments
     
    mySL.Capacity) 		'nombre d'éléments possible,automatique, on n'a pas à s'en occuper.
    Les SortedList(Of..) sont des SortedList génériques avec Clé et valeur ,triées sur la clé. Ressemble à SortedDictionary, mais occupe moins de mémoire et est moins rapide pour les insertions/suppressions.
    Les SortedDictionnary(Of..) sont des collections génériques avec Clé et valeur ,trié sur la clé.
    String Collection
    L'espace System.Collections.Specialized fournit ces nouveaux types de collection très spécifiques, elles ne sont faites que pour un seul type:
    StringCollection ne peut contenir que des chaînes (cela devrait aller plus vite)


    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
    Dim myCol As New StringCollection()	' Créer une StringCollection.
     
    Dim myArr() As [String] = {"rouge", "vert", "orange", "vert",) 'Créer un tableau de String, l'ajouter( en fin) à la collection.
     
    myCol.AddRange(myArr)
     
    myCol.Add("marron")	'Ajouter un élément à la fin de la collection
     
    myCol.Insert(3, "bleue")	'Insérer un élément à l'index 3
     
    myCol.Remove("orange")		'Enlever un élément
     
    myCol.Contains("jaune")	' La collection contient t'elle "jaune"?
     
    Dim myArr2(myCol.Count) As [String] ' Copie la collection dans un tableau.
    myCol.CopyTo(myArr2, 0)
     
    myCol.Clear()	' Efface toutes les strings de la Collection.
    Tableau

    Les tableaux vous permettent de faire référence à un ensemble de variables par le même nom et d'utiliser un numéro, appelé index ou indice, pour les distinguer.

    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
    Dim Tableau(3) As Integer 	' Déclarer le tableau
     
    Pour un tableau à 2 dimensions le premier argument représente les lignes, le second les colonnes.
     
    Dim T(2,2)     ' 3 X 3 éléments
     
     
    T(1,1)=33 ' Pour mettre 33 dans l'élément central:
     
    i = S.Split(Separateur) ' Découpe une string et la met en tableau
     
    Erase Tableau ' Erase efface le tableau et récupère l'espace.
     
    Array.Clear(t, 2, 3) ' Réinitialisation tableau t à partir de l'élément 1 et pour 3 éléments.
     
    b = a         'Copie le tableau a dans b
     
    Array.Clear(Mois,0,2) 'Efface 2 éléments du tableau Mois à partir de l'élément 0.
    Array.Reverse(Mois, 1, 3) 'inverse les 3 éléments à partir de l'élément 1.
    Array.Copy(Mois,1,Mois2,1,20) 'copie 20 éléments de Mois vers Mois2 à partir du 2eme élément.
    Array.sort(Mois) 'Trie le tableau Mois
     
    I=Array.BinarySearch(Mois, "Février") 'retourne I=1  se souvenir le premier élément est Mois(0)
     
    Dim myIndex As Integer = Array.IndexOf(myArray, myString) 'retourne l'index de la première occurrence. Retourne -1 si l'élément n'est pas trouvé.
     
    Dim Indice, MonTableau(10, 15, 20)
    Indice = UBound(MonTableau, 1) ' Retourne 10. (1 indique la première dimension du tableau)
    Indice = MonTableau.GetUpperBound(0) '( 0 pour première dimension!!) Retourne 10.
     
    i = S.Length 'retourne un entier qui représente le nombre d'éléments total dans le tableau.

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    Citation Envoyé par Kamikazoide Voir le message
    3: Est ce que vous connaissez un site qui liste toutes les méthodes possible ( de manière "compacte" du même style que ce que j'ai fait juste en dessous durant plusieurs heures en piochant les différentes méthodes par ici et par la ....)
    après le gars qui sait pas écrire end sub on a celui qui ne connait ni la touche F1 de son clavier ni MSDN ...
    car oui F1 en ayant le curseur sur un nom de classe t'envoie sur l'aide
    et l'aide liste tous les membres et ce qu'ils font, et si tu clic dessus tu as le détail du membre


    sinon arraylist c'est pas ce qu'il y a de plus pratique
    et sur les collections il y a addrange qui permet d'ajouter plusieurs éléments en une fois
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Modifier une collection dans une autre Class (Panel)
    Par Dragonnus dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 10/08/2016, 15h16
  2. Modifier une collection d'objets dans un formulaire
    Par GiveMeAName dans le forum Struts 1
    Réponses: 6
    Dernier message: 30/08/2006, 13h30
  3. Lire et modifier un port com utilisé par un autre programme
    Par KBNOT-PRC600 dans le forum Langage
    Réponses: 5
    Dernier message: 12/02/2006, 17h40
  4. combobox ou autre
    Par baddom dans le forum Composants VCL
    Réponses: 1
    Dernier message: 05/02/2006, 11h07
  5. Modifier une collection
    Par Admin dans le forum Access
    Réponses: 1
    Dernier message: 28/09/2005, 12h37

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