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 :

ListView - Migration VB6 à VB.Net [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 136
    Par défaut ListView - Migration VB6 à VB.Net
    Voila, j'ai récupérer un bout de code VB6 et je le transforme en VB.Net

    J'ai résolu tous les petits souci hormis 2.

    Le premiers concerne la listview qui est présente dans la form.

    voici le programme VB6 (a savoir que la ListView s’appelle : LstTemps)

    En rouge : les érreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Public Function ViewTimes(ByVal LstView As ListView, ByVal Entree As String, ByVal Key As Integer)
            On Error Resume Next
            Dim itmx As ListItems
            itmx = LstView.ListItems
            itmx.Item(itmx.Count).SubItems(Key) = Entree
        End Function
    Cette Function se trouve dans un Module.

    Je n'arrive pas à modifier... si quelqu'un à une idée !!!!

    Merci beaucoup

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Bonsoir,

    avec une petite recherche google sur listview windows forms vous trouvez les liens MSDN :
    ListView Control (Windows Forms)
    ListView Class
    En regardant les exemples, on peut voir la propriété Items qui vous intéresse
    Et en plus c'est bourré d'exemples

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 136
    Par défaut
    Justement, j'ai déjà regardé la.

    Cela m'a permit de convertir une autre partie du code de la ListView mais pas sur cette partie la

    Ps : Mise à jour du premier post

  4. #4
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Justement, je vous aiguille vers la propriété Items qui remplace votre ListItems, qu'est-ce que vous ne comprenez pas la dedans?

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Avril 2008
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 136
    Par défaut
    Déjà, j'arrive pas trop a comprendre, avec cette "function" ce que le mec à voulu faire !!!!

    Voici ce que j'ai tenté de faire

    erreur en rouge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function ViewTimes(ByVal LstView As ListView, ByVal Entree As String, ByVal Key As Integer)
            On Error Resume Next
            Dim itmx As items
            itmx = LstView.Items
            itmx.Item(itmx.Count).SubItems(Key) = Entree
    End Function

  6. #6
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    Quand vous allez sur la page MSDN de la propriété Items : http://msdn.microsoft.com/en-us/libr...iew.items.aspx

    Vous voyez que Items est en réalité de Type: System.Windows.Forms.ListView.ListViewItemCollection

    Donc on pourrait déjà se dire de modifier le code comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Public Sub ViewTimes(ByVal LstView As ListView, ByVal Entree As String, ByVal Key As Integer)
            Dim itmx As ListView.ListViewItemCollection
            itmx = LstView.Items
            itmx.Item(itmx.Count).SubItems(Key) = Entree
    End Function
    Mais ceci n'a pas beaucoup de sens, il suffit de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Function ViewTimes(ByVal LstView As ListView, ByVal Entree As String, ByVal Key As Integer)
            LstView.Items.Item(LstView.Items.Count).SubItems(Key) = Entree
    End Function
    Que l'on peut encore simplifier comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Function ViewTimes(ByVal LstView As ListView, ByVal Entree As String, ByVal Key As Integer)
            LstView.Items(LstView.Items.Count).SubItems(Key)  = Entree
    End Function
    Mais il reste une erreur sur = Entree. En regardant ce que SubItems accepte, on voit que c'est un ListViewSubItem, donc on modifie comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Public Function ViewTimes(ByVal LstView As ListView, ByVal Entree As String, ByVal Key As Integer)
            LstView.Items(LstView.Items.Count).SubItems(Key) = New ListViewItem.ListViewSubItem(LstView.Items(LstView.Items.Count), Entree)
        End Function
    Et enfin une fonction n'a pas de sens si elle ne retourne rien donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Public Sub ViewTimes(ByVal LstView As ListView, ByVal Entree As String, ByVal Key As Integer)
            LstView.Items(LstView.Items.Count).SubItems(Key) = New ListViewItem.ListViewSubItem(LstView.Items(LstView.Items.Count), Entree)
        End Sub
    Je n'ai jamais employé de ListView et avec l'aide de MSDN et de l'intellisens de VS on trouve rapidement la solution...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Migration VB6 -> VB.net quelques difficultés
    Par megamario dans le forum VB.NET
    Réponses: 11
    Dernier message: 15/02/2013, 18h37
  2. Migration VB6/VB.NET + frameworks
    Par florentino dans le forum VB.NET
    Réponses: 8
    Dernier message: 16/10/2008, 14h16
  3. [VB6 > VB.Net] Comment réussir la migration pour utilisation sous VS2003 ?
    Par sympatique dans le forum Accès aux données
    Réponses: 3
    Dernier message: 15/08/2006, 21h32
  4. [VB.NET 1.1] Migration VB6
    Par neuropathie dans le forum Windows Forms
    Réponses: 5
    Dernier message: 21/07/2006, 14h39
  5. [VB.NET] Migration VB6---VB.NET
    Par billyyy dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/01/2005, 15h30

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