Comment faire pour lier une ArrayList ou la collection des structures à un formulaire Windows à l'aide de Visual Basic .NET ou Visual Basic 2005

Traductions disponibles Traductions disponibles
Numéro d'article: 313638 - Voir les produits auxquels s'applique cet article
Cet article a été archivé. Il est proposé « en l'état » et ne sera plus mis à jour.
Agrandir tout | Réduire tout

Sommaire

Résumé

Cet article étape par étape explique comment lier une liste de tableaux de structures à un formulaire Windows. L'exemple comporte un formulaire Windows avec trois zones de texte pour afficher les membres de structure et quatre boutons de commande pour vous déplacer dans la liste de tableaux .

Configuration requise

Microsoft Visual Basic .NET ou Microsoft Visual Basic 2005

Étude de code

Cette section décrit les concepts de codage importants que nécessaire pour achever cette tâche.

Vous créez la structure

Une structure qui est lié à un formulaire doit être membre accesseurs. Structure membre accesseurs sont pratiquement les mêmes que le jeu de propriétés/obtenir structure qui se trouve dans une classe. La structure qui est utilisée par l'exemple de cet article possède trois membres (seul est affiché). Un constructeur paramétrée également est fournie mais est pas nécessaire.
Private Structure guitar
    Friend mmake As String
    Friend mmodel As String
    Friend myear As Short

    Public Sub New(ByVal make, ByVal model, ByVal year)
        Me.mmake = make
        Me.mmodel = model
        Me.myear = year
    End Sub

    Public Property make() As String
        Get
            make = mmake
        End Get
        Set(ByVal Value As String)
            mmake = Value
        End Set
    End Property
End Structure
				

Ajout d'instances de structure à une liste de tableaux

T créer des instances et les ajouter à la liste de tableaux , procédez comme suit :
  1. Déclarez une variable du type de la structure.
  2. Déclarer une liste de tableaux .
  3. Créer des instances de la structure, puis ajoutez-les à la liste de tableaux .
Private myStruct As guitar
Dim al As New ArrayList()

myStruct = New guitar("Gibson", "Les Paul", 1958)
al.Add(myStruct) 
myStruct = New guitar("Fender", "Jazz Bass", 1964)
al.Add(myStruct)
myStruct = New guitar("Guild", "Bluesbird", 1971)
al.Add(myStruct)
				

Lier les membres de structure aux contrôles de formulaire

Une fois la liste de tableaux est remplie, vous pouvez lier les membres individuels de la structure à des contrôles Windows Forms. Pour ce faire, vous devez appeler la méthode Add de la propriété DataBindings de zone de texte et transmettez la propriété pour être liée, le nom de la liste de tableaux , ainsi que le membre de la structure.
TextBox1.DataBindings.Add("Text", al, "make")
TextBox2.DataBindings.Add("Text", al, "model")
TextBox3.DataBindings.Add("Text", al, "year")
				

Fournit un moyen à déplacer dans la liste de tableaux

L'étape finale dans le processus est de fournir un moyen de déplacer dans la liste de tableaux . Pour ce faire, vous devez utiliser un CurrencyManager . Associer le CurrencyManager BindingContext , dans ce cas, la liste de tableaux de structures du formulaire.
Private cMan As CurrencyManager

cMan = CType(Me.BindingContext(al), CurrencyManager)
				
l'objet CurrencyManager possède une propriété position qui peut être manipulée pour effectuer une itération sur les membres de la liste de tableaux . En ajoutant ou soustrayant de, la valeur actuelle de position , vous pouvez afficher différents membres de la liste de tableaux sur le formulaire.
'Move forward one element.
 cMan.Position += 1
'Move back one element.
cMan.Position -= 1
'Move to the beginning.
cMan.Position = 0
'Move to the end.
cMan.Position = al.Count - 1
				

Exemple pas à pas

  1. Ouvrez un nouveau projet d'application Windows dans Visual Basic .NET ou Visual Basic 2005.
  2. Ajouter trois zones de texte à Form1 et puis organiser les contrôles horizontalement.
  3. Ajouter des quatre boutons de commande à Form1 et puis organiser les contrôles horizontalement.
  4. Modifier la propriété Text de Bouton1 suivant .
  5. Modifier la propriété Text de Bouton2 sur précédent .
  6. Modifiez la propriété Text de Bouton3 en premier .
  7. Modifiez la propriété Text de Button4 en dernier .
  8. Ajoutez le code suivant à la section de déclaration de Form1 :
    Private Structure guitar
        Friend mmake As String
        Friend mmodel As String
        Friend myear As Short
    
        Public Sub New(ByVal make, ByVal model, ByVal year)
            Me.mmake = make
            Me.mmodel = model
            Me.myear = year
        End Sub
    
        Public Property make() As String
            Get
                make = mmake
            End Get
            Set(ByVal Value As String)
                mmake = Value
            End Set
        End Property
        Public Property model() As String
            Get
                model = mmodel
            End Get
            Set(ByVal Value As String)
                mmodel = Value
            End Set
        End Property
        Public Property year() As Short
            Get
                year = myear
            End Get
            Set(ByVal Value As Short)
    
    
            myear = Value
            End Set
        End Property
    End Structure
    
    Private myStruct As guitar
    Private al As New ArrayList()
    Private cMan As CurrencyManager
    					
  9. Ajoutez le code suivant à l'événement Form_Load :
    myStruct = New guitar("Gibson", "Les Paul", 1958)
    al.Add(myStruct)
    myStruct = New guitar("Fender", "Jazz Bass", 1964)
    al.Add(myStruct)
    myStruct = New guitar("Guild", "Bluesbird", 1971)
    al.Add(myStruct)
    
    cMan = CType(Me.BindingContext(al), CurrencyManager)
    
    TextBox1.DataBindings.Add("Text", al, "make")
    TextBox2.DataBindings.Add("Text", al, "model")
    TextBox3.DataBindings.Add("Text", al, "year")
    					
  10. Ajoutez le code suivant après l'événement Form_Load :
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles Button1.Click
            cMan.Position += 1
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles Button2.Click
            cMan.Position -= 1
    End Sub
    
    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles Button3.Click
            cMan.Position = 0
    End Sub
    
    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As
    System.EventArgs) Handles Button4.Click
            cMan.Position = al.Count - 1
    End Sub
    					
  11. Générez et exécutez le projet.
  12. Cliquez sur les boutons pour afficher les différents éléments de liste de tableaux . Notez que vous pouvez modifier les valeurs des objets.

À l'aide d'une collection

Vous pouvez utiliser un objet de collection pour stocker les structures. Pour tester l'utilisation d'une collection , recherchez la ligne de code suivante dans la procédure événementielle Form_Load :
Private al As New ArrayList()
remplacer la ligne précédente de code avec le code suivant, et relancez L'exemple :
Private al As New Collection()

RÉFÉRENCES

Consultez la rubrique suivante dans la documentation Visual Studio .NET ou Aide en ligne de Visual Studio 2005 :
Consommateurs de données sur les Windows Forms

Propriétés

Numéro d'article: 313638 - Dernière mise à jour: lundi 24 février 2014 - Version: 3.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Basic .NET 2002 Initiation
  • Microsoft Visual Basic .NET 2003 Initiation
  • Microsoft Visual Basic 2005
Mots-clés : 
kbnosurvey kbarchive kbmt kbvs2005swept kbvs2005applies kbhowtomaster KB313638 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 313638
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com