Sélection de fichiers avec OpenFileDialog et textbox (Visual Basic 2010)

Résolu
cs_warberzz Messages postés 9 Date d'inscription vendredi 6 août 2010 Statut Membre Dernière intervention 9 août 2010 - 8 août 2010 à 18:38
cs_warberzz Messages postés 9 Date d'inscription vendredi 6 août 2010 Statut Membre Dernière intervention 9 août 2010 - 9 août 2010 à 11:03
Bonjour tout le monde !!

La je suis sous Visual Basic 2010.
Je cherche à créer une application ou je peux sélectionner plusieurs fichiers, puis ou une fois les fichiers sélectionnés, que leur chemin s'affiche dans une textbox (l'explorateur est affiché grâce à un bouton à coté de la textbox).

En gros, voilà le bout de code :


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        OpenFileDialog1.Multiselect = True
        OpenFileDialog1.Title = "Sélectionnez un ou plusieurs fichiers"
        OpenFileDialog1.Filter = "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" + "Images (*. BMP, *. JPG, *. GIF) | *. bmp, *. JPG, *. GIF |» + _" + "Tous les fichiers (*.*)|*.*"
        OpenFileDialog1.SupportMultiDottedExtensions = True
        OpenFileDialog1.FileNames.(TextBox1.Text) 'ici il y a une erreur, mais je ne sais pas comment m'en sortir... il me dit "Identificateur attendu"
        OpenFileDialog1.ShowDialog()
    End Sub



Merci a TOUS !! :)
A voir également:

6 réponses

NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
8 août 2010 à 23:44
Tu ajouteras donc le bout de code suivant dans ton code déjà existant:
 
 For Each file In .FileNames
 TextBox1.AppendText(file + vbCrLf)
 Next


tu auras donc ceci:

 With OpenFileDialog1
            .Multiselect = True
            .Title = "Sélectionnez un ou plusieurs fichiers"
            .Filter = "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" + "Images (*. BMP, *. JPG, *. GIF) | *. bmp, *. JPG, *. GIF |» + _" + "Tous les fichiers (*.*)|*.*"
            .SupportMultiDottedExtensions = True
            .ShowDialog()
            'TextBox1.Text = .FileName '+ vbCrLf    'ici il y a une erreur, mais je ne sais pas comment m'en sortir... il me dit "Identificateur attendu"

            For Each file In .FileNames
                TextBox1.AppendText(file + vbCrLf)
            Next

        End With


N'oublie pas de mettre la propriété Multiline de ton textbox à True

@Christoni:

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...
Visual Basic .Net is the best and vb6.0
3
cs_christoni Messages postés 140 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 1 novembre 2010 7
9 août 2010 à 06:33
Bonjour,
testez avec une sélection dans l'OpenFileDialog puis faites "annuler" et VB vous met des cochonneries dans le TextBox.
Donc il faut qu'il ne traite que la touche "Ouvrir".
En reprenant le code de NSUADI, ça devrait donner :
        TextBox1.Text = ""
        With OpenFileDialog1
            .Multiselect = True
            .Title = "Sélectionnez un ou plusieurs fichiers"
            .Filter = "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" + "Images (*. BMP, *. JPG, *. GIF) | *. bmp, *. JPG, *. GIF |» + _" + "Tous les fichiers (*.*)|*.*"
            .SupportMultiDottedExtensions = True
            '.ShowDialog()
            'TextBox1.Text = .FileName '+ vbCrLf    'ici il y a une erreur, mais je ne sais pas comment m'en sortir... il me dit "Identificateur attendu"
            If .ShowDialog = Windows.Forms.DialogResult.OK Then
                For Each file In .FileNames
                    TextBox1.AppendText(file + vbCrLf)
                Next
            End If
        End With
    End Sub

Avec ou sans la première ligne selon que l'on veut vider ou pas le TextBox à chaque appel.
3
cs_christoni Messages postés 140 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 1 novembre 2010 7
8 août 2010 à 20:17
Bonsoir,
faites un "for each" de la collection de "OpenFileDialog1.FileNames" et utiliser la méthode "AppendText" de Textbox avec éventuellement un "vbCrLf" pour le passage à la ligne.
Pour ma part j'utiliserais un "If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK", afin de ne traiter que l'appui de la touche OK du OpenFileDialog.
1
NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
8 août 2010 à 18:53
Fais le comme ceci:

 With OpenFileDialog1
            .Multiselect = True
            .Title = "Sélectionnez un ou plusieurs fichiers"
            .Filter = "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" + "Images (*. BMP, *. JPG, *. GIF) | *. bmp, *. JPG, *. GIF |» + _" + "Tous les fichiers (*.*)|*.*"
            .SupportMultiDottedExtensions = True
            .ShowDialog()
            TextBox1.Text = .FileName    

  End With


Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...
Visual Basic .Net is the best and vb6.0
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_warberzz Messages postés 9 Date d'inscription vendredi 6 août 2010 Statut Membre Dernière intervention 9 août 2010
8 août 2010 à 19:03
En effet merci beaucoup ton code marche :) mais si je veux afficher plusieurs fichiers dans la textbox, je fais comment ? des que je rajoute un s à "OpenfileDialog1.FileName" (qui devient donc OpenfileDialog1.FileNames) il me dit : "Impossible de convertir une valeur de type 'Tableau à 1 dimension(s) de String' en 'String'" ...
Merci Beaucoup :)
0
cs_warberzz Messages postés 9 Date d'inscription vendredi 6 août 2010 Statut Membre Dernière intervention 9 août 2010
9 août 2010 à 11:03
Vous êtes géniaux merci a tous !!! :)
0
Rejoignez-nous