J ai 3 questions sur PictureBox en vb.net

cs_andres06 Messages postés 20 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 12 juin 2007 - 6 févr. 2007 à 02:12
cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 - 6 févr. 2007 à 06:26
http://www.vbfrance.com/auteurdetail.aspx?ID=974373
salut.
j ai ici un code de vb.net qui me permet d'afficher une image dans une picturebox
en utilisant une OpenFileDialog.

Jai executé ce code. quand même il affiche les images en lecture seule.
donc mes questions sont:
1- Comment je vais modifier cd code pour qu'il m interdit d ouvrir les images en lecture seule?
2- Quel fichier va-t-elle tester la méthode .CheckedFileExists?(2éme ligne)car c'est l utilisateur qui doit ouvrir le fichier cest pas le programme.
3-A quoi sert la méthode .FilterIndex?car j n'ai noté aucune différnce si j l utilise ou non.
et merci

1 réponse

cs_fauve Messages postés 661 Date d'inscription vendredi 2 décembre 2005 Statut Membre Dernière intervention 23 mars 2011 8
6 févr. 2007 à 06:26
Salut,

1) En faîte à un moment tu écris .ShowReadOnly = False donc ofd n'affichera pas les fichiers en lecture seul

         Pour pouvoir tester si ton fichier est en lecture seule voici comment faire :

      Dim Snom As String = ofd.Filename   ' Snom contient le chemin d'accès complet du fichier
        Dim Fi As FileInfo      'On déclare un FileInfo
        Fi = New FileInfo( sNom)

        If Fi.Attributes = FileAttributes.ReadOnly Then ' Vrai si le fichier est en lecture seul
            Exit Sub   ' Quitte la procédure
        End If

2)Infos sur CheckedFileExist

         CheckFileExist permet tout simplement quand l'utilisateur a choisit un fichier et cliqué sur OK ou Ouvrir si le fichier sélectionné n'existe plus ofd va afficher un message à l'utilisateur indiquant que celui-ci  n'existe plus.

         En résumé, CheckFileExist permet de contrôler si le fichier existe.

3) Infos sur FilterIndex

         FilterIndex permet tout simplement de générer des filtres pour n'afficher que les fichiers ayant un certain type d'extension

         Dans ton cas, tu définis deux filtres, le premier affiche tout les fichiers et le deuxième n'affiche que les fichiers ayant comme extension bmp ou jpg.

      Pour pouvoir changer de filtre, quand tu affiche ofd à l'utilisateur, tout en bas tu as Fichiers de type c'est là dedans que ce sont mis tes filtres. Il suffit juste que l'utilisateur choisisse le filtre voulu.

4) Voici ton code modifié :
      
        Dim Snom As String
        Dim Fi As FileInfo

        With ofd
            .CheckFileExists = True
            .Filter = "All Files|*.*|Bitmap Files (*)|*.bmp;*.jpg"
            .FilterIndex = 1
            If .ShowDialog = Windows.Forms.DialogResult.OK Then
                Snom = ofd.FileName
                Fi = New FileInfo(Snom)
                If Fi.Attributes = FileAttributes.ReadOnly Then
                    Exit Sub
                End If
            End If
        End With
, ----
(Coloration syntaxique automatique par Kenji)

Noubliez pas de d'accepter la réponse si celle a réglé votre problème

      
0
Rejoignez-nous