Qui remplace FileListBox et DriveListBox
-
mercredi 12 septembre 2012 14:29
Pour le développement d'une application, j'ai besoin d'utiliser les anciennes instructions VB6 FileListBox et DriveListBox. Systématiquement VB2010 me signale que ces commandes sont obsolètes. J'ai beau chercher, je n'ai toujours pas trouvé l'équivalence en VB2010. Merci d'avance.- Type modifié Aurel BeraMicrosoft Contingent Staff, Owner mercredi 26 septembre 2012 06:08 Pas de reponse
- Type modifié Aurel BeraMicrosoft Contingent Staff, Owner lundi 8 octobre 2012 06:36 Repondu
Toutes les réponses
-
mercredi 12 septembre 2012 15:05Propriétaire
Bonjour
Vous pouvez utiliser OpenFileDialog et SaveFileDialog comme est indiqué sur le site Microsoft : http://msdn.microsoft.com/fr-fr/library/tabywba0(v=vs.80).aspx
Cordialement,
- Proposé comme réponse Gilles TOURREAUMVP, Moderator mercredi 12 septembre 2012 22:04
-
mercredi 12 septembre 2012 15:38Je vous remercie de ce conseil. Toutefois, je préfère utiliser FileListBox et DriveListBox qui sont plus facilement programmables et moins complexes.
-
vendredi 14 septembre 2012 05:36
FileListBox et DriveListBox sont marqués comme obsolètes depuis Visual Studio 2010.
Depuis VS2010, tout l'espace de nom Compatibility pour la récupération de projets VB6 en VB .NET est marqué comme obsolète.
Comme indiqué ici (http://msdn.microsoft.com/en-us/library/ee839621(VS.100).aspx), une solution consiste à cibler le Framework 3.5 plutôt que le Framework 4.0 mais c'est dommage.
NB : même s'ils sont obsolètes, vous pouvez les utiliser mais attention, ils ne marchent qu'avec des machines en 32 bits.
Richard Clark
Consultant - Formateur .NET
http://www.c2i.fr
Depuis 1996: le 1er site .NET francophone -
samedi 15 septembre 2012 12:20
Bonjour,
avez-vous essayer ceci :
Dim Folder AsNew FolderBrowserDialog() Folder.SelectedPath = "c:\" Folder.ShowDialog() Txt_Repertoire_chemin.Text = Folder.SelectedPath
cordialement
Salva
-
mardi 25 septembre 2012 12:45Propriétaire
Bonjour,
Est-ce que vous avez testé les solutions proposées ? Merci de partager avec nous les résultats, afin que d'autres personnes avec le même problème puissent profiter de cette solution.
Cordialement,
Aurel
-
mercredi 26 septembre 2012 06:09Propriétaire
Bonjour,
Nous changeons le type de votre question à « Discussion générale » parce que vous n’êtes pas revenu avec les informations sollicitées. Si vous avez plus de temps pour réexaminer la question et fournir plus d'informations, n'hésitez pas à modifier le type du thread à « Question ». Si le problème est résolu, s’il vous plaît partagez la solution avec nous afin que la réponse puisse être trouvée et utilisée par d'autres membres de la communauté ayant des questions similaires.
Merci !
Cordialement,
Aurel
-
mercredi 26 septembre 2012 11:37C'est ce que j'avais constaté. Ma demande consistait à ne plus voir s'afficher dans la liste d'erreur les avertissmeents comme obsolètes.
-
mercredi 26 septembre 2012 11:38J'en ai testé une partie. Je vais faire le reste prochainement.
-
mercredi 26 septembre 2012 11:38Je n'ai pas résolu mon problème et je continue à utiliser ces instructions sans tenir compte des avertissements de la liste d'erreur.
-
mercredi 26 septembre 2012 18:49
Bonsoir Dédé,
J'avais fait une application pour analyser interactivité sur mon disque dur (lecture/écriture). Vous pouvez avoir la liste de vos lecteurs grâce au Namespace System.IO et utiliser la classe DriveInfo.
Exemple visuel :
Amélioration :
Code source :
Imports System.IO Public Class Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load _Drivers.DataSource = DriveInfo.GetDrives() _Drivers.DisplayMember = "Name" 'Pas obligatoire car la méthode ToString() retourne cette valeur End Sub Private Sub _Drivers_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles _Drivers.SelectedIndexChanged If _Drivers.Items.Count > 0 Then Dim HDD As DriveInfo = DirectCast(_Drivers.SelectedItem, DriveInfo) _LblName.Text = "Nom volume :" _LblSize.Text = "Espace total :" _LblFreeSize.Text = "Espace total :" If Not HDD Is Nothing And HDD.IsReady Then _LblName.Text = String.Format("Nom volume : {0}", HDD.VolumeLabel) _LblSize.Text = String.Format("Espace total : {0}", HDD.TotalSize) _LblFreeSize.Text = String.Format("Espace total : {0}", HDD.TotalFreeSpace) 'Parcourir le lecteur _TreeV.Nodes.Clear() For Each dir As DirectoryInfo In HDD.RootDirectory.GetDirectories() _TreeV.Nodes.Add(dir.FullName) Next End If End If End Sub Private selectedNode As TreeNode 'garder la dernière selection Private Sub _TreeV_AfterSelect(sender As System.Object, e As System.Windows.Forms.TreeViewEventArgs) Handles _TreeV.AfterSelect If _TreeV.Nodes.Count > 0 Then Me.selectedNode = e.Node End If End Sub Private Sub _TreeV_DoubleClick(sender As System.Object, e As System.EventArgs) Handles _TreeV.DoubleClick If _TreeV.Nodes.Count > 0 Then For Each dir As DirectoryInfo In New DirectoryInfo(selectedNode.Text).GetDirectories() selectedNode.Nodes.Add(dir.FullName) Next Me.selectedNode.Expand() End If End Sub End Class
Projet : http://dl.free.fr/rYZ3149BG
Il ne reste plus qu'à améliorer selon vos besoins, bien vérifier que le node est accessible, etc... Faites une librairie de classe contenant des usercontrols pour l'implémenter où vous le souhaitez. Je pense vous avoir mis sur la voie.
PS : Mon code n'est pas totalement robuste, ce n'est qu'un simple exemple pour vous montrer comment faire.
Est-ce le cas ? Est-ce que c'est ce que vous souhaitiez ???
Cordialement
Merci de valider par "Proposer comme réponse" si celle-ci répond a votre demande !
- Modifié LyamineMicrosoft Community Contributor mercredi 26 septembre 2012 18:58
-
mercredi 26 septembre 2012 20:30Merci beaucoup pour le module. Je vais le tester dès demain.
-
samedi 29 septembre 2012 12:40J'ai testé votre exemple. Il est intéressant mais ne me donne pas la liste des fichiers d'un sous-répertoire. J'ai beau chercher, je ne trouve pas comment l'améliorer. Merci quand même.
-
samedi 29 septembre 2012 23:22
bonjour Dédé,
Et bien pas de problème il est possible d'ajouter les fichiers.
Code du Form1 :
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load _Drivers.DataSource = DriveInfo.GetDrives() _Drivers.DisplayMember = "Name" 'Pas obligatoire car la méthode ToString() retourne cette valeur End Sub Private Sub _Drivers_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles _Drivers.SelectedIndexChanged If _Drivers.Items.Count > 0 Then Dim HDD As DriveInfo = DirectCast(_Drivers.SelectedItem, DriveInfo) _LblName.Text = "Nom volume :" _LblSize.Text = "Espace total :" _LblFreeSize.Text = "Espace total :" If Not HDD Is Nothing And HDD.IsReady Then _LblName.Text = String.Format("Nom volume : {0}", HDD.VolumeLabel) _LblSize.Text = String.Format("Espace total : {0}", HDD.TotalSize) _LblFreeSize.Text = String.Format("Espace total : {0}", HDD.TotalFreeSpace) 'Parcourir le lecteur _TreeV.Nodes.Clear() For Each dir As DirectoryInfo In HDD.RootDirectory.GetDirectories() _TreeV.Nodes.Add(dir.FullName) Next 'ajout des fichiers For Each _file As FileInfo In HDD.RootDirectory.GetFiles() _TreeV.Nodes.Add(_file.FullName) Next End If End If End Sub Private selectedNode As TreeNode 'garder la dernière selection Private Sub _TreeV_AfterSelect(sender As System.Object, e As System.Windows.Forms.TreeViewEventArgs) Handles _TreeV.AfterSelect If _TreeV.Nodes.Count > 0 Then Me.selectedNode = e.Node End If End Sub Private Sub _TreeV_DoubleClick(sender As System.Object, e As System.EventArgs) Handles _TreeV.DoubleClick If _TreeV.Nodes.Count > 0 Then 'ajout des répertoires For Each dir As DirectoryInfo In New DirectoryInfo(selectedNode.Text).GetDirectories() selectedNode.Nodes.Add(dir.FullName) Next 'ajout des fichiers For Each _file As FileInfo In New DirectoryInfo(selectedNode.Text).GetFiles() selectedNode.Nodes.Add(_file.FullName) Next Me.selectedNode.Expand() End If End Sub
Projet : http://dl.free.fr/mmz5sY6Lx
Merci de valider par "Proposer comme réponse" si celle-ci répond à votre demande !
-
dimanche 30 septembre 2012 12:00Merci pour ce module. Il correspond à ce que je recherche. Juste une question : comment je vais pour récupérer le nom du fichier choisi afin de l'utiliser par la suite. Par exemple, je veux utiliser un fichier image "Photo.jpg" qui est situé sur le disque "g:\", dans le répertoire "Machin", dans le sous-répertoire "Truc" et dans le sous-sous-répertoire "Bidule". La complexité du module me laisse un peu dubitatif car je ne suis pas un programmeur très doué. Merci d'avance.
-
dimanche 30 septembre 2012 13:08
Merci pour ce module. Il correspond à ce que je recherche. Juste une question : comment je vais pour récupérer le nom du fichier choisi afin de l'utiliser par la suite. Par exemple, je veux utiliser un fichier image "Photo.jpg" qui est situé sur le disque "g:\", dans le répertoire "Machin", dans le sous-répertoire "Truc" et dans le sous-sous-répertoire "Bidule". La complexité du module me laisse un peu dubitatif car je ne suis pas un programmeur très doué. Merci d'avance.
Bonjour,
Pour récupérer le chemin, il suffit d'utiliser selectedNode.
code après sélectionné le chemin :
Private Sub _SelectedPath_Click(sender As System.Object, e As System.EventArgs) Handles _SelectedPath.Click If Not Me.selectedNode Is Nothing Then MessageBox.Show(Me.selectedNode.Text) End If End SubProjet : http://dl.free.fr/vO9R0O70B
Ne craignez rien, ce n'est pas compliqué comme code. Il suffit de le faire propre et robuste à max.
Si ça vous conviens, merci de valider la réponse.
Merci de valider par "Proposer comme réponse" si celle-ci répond à votre demande !
- Modifié LyamineMicrosoft Community Contributor dimanche 30 septembre 2012 13:33
- Marqué comme réponse Aurel BeraMicrosoft Contingent Staff, Owner lundi 8 octobre 2012 06:37
-
samedi 6 octobre 2012 11:52Avec un peu de retard, merci pour la réponse. Ca me convient très bien. Mon problème est enfin résolu.
-
dimanche 7 octobre 2012 08:57
Bonjour,
Merci de valider en proposant comme réponse ma dernière proposition.
Cordialement
Merci de valider par "Proposer comme réponse" si celle-ci répond à votre demande !
-
dimanche 7 octobre 2012 13:54Proposer comme réponse. merci

