Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

DIREXPLORER EXPLORATEUR / EXPLORER DE DOSSIERS MULTIFONCTIONS ( VRAIS ICONS, RACINE PARAMÉTRABLE, CASE À COCHER 3 ÉTATS , MENU CONTEXTUEL , AFFICHAGE DES FICHIERS ...)


Information sur la source

Catégorie :Control Source .NET ( DotNet ) Classé sous : explorateur, repertoire, dossier, direxplorer, yomm Niveau : Expert Date de création : 05/04/2006 Date de mise à jour : 18/04/2007 14:59:54 Vu / téléchargé: 8 253 / 1 168

Note :
9,5 / 10 - par 4 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Développé sous VB 2005 Express Edition , ce nouveau DirExplorer reprend les grandes lignes de son petit frère en VB6 à savoir:
- arborescence des répertoires avec les vrais icônes
- choix de la racine (bureau, poste de travail...)
- possibilité d'ouvrir un répertoire en passant le chemin (ex : "c:\program files")

mais il inclut une nouvelle fonction et pas n'importe laquelle:
- mise à jour automatique des sous-répertoires s'ils sont modifiés par une appli extérieure (sous-répertoire ajouté, supprimé, renommé)

Note du 18/04/2007 :
et maintenant il fait encore plus fort ;-)
- ajout d'un raccourci perso avec icon perso sous la racine
- ajout de checkbox 3 états
- ajout des fichiers du répertoire
- navigation dans les branches via une énumération
- récupération des propriétés :
    * Text
    * Path
    * Checked
    * CheckState
    * Parent
    * Tag (ça c'est pour mettre un object pour ceux qui veulent)
    * IsExpanded
    * Nodes (ça c'est une énumération pour naviguer dans l'arborescence)
- deux méthodes:
    * Expand et Collapse
 

Source

  • '-------------------------------------------------------------------------------------------------------------
  • 'un exemple pour récupérer toutes les branches cochées
  • '-------------------------------------------------------------------------------------------------------------
  • Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
  • MsgForNodeChecked(DirExplorer1.Root)
  • End Sub
  • Private Sub MsgForNodeChecked(ByVal Node As DirExplorerOCX.DirExplorerNode)
  • Dim NodeFille As DirExplorerOCX.DirExplorerNode
  • For Each NodeFille In Node.Nodes
  • If NodeFille.IsExpanded = True Then
  • MsgForNodeChecked(NodeFille)
  • ElseIf NodeFille.CheckState = CheckState.Checked Then
  • MsgBox(NodeFille.Text)
  • End If
  • Next
  • If Node.CheckState = CheckState.Checked Then MsgBox(Node.Text)
  • End Sub
  • '-------------------------------------------------------------------------------------------------------------
  • 'exemple d'utilisation de certaines propriétés
  • '-------------------------------------------------------------------------------------------------------------
  • DirExplorer1.CheckBoxes = True
  • DirExplorer1.UseCustomIcon = True
  • DirExplorer1.UseContextMenu = True
  • DirExplorer1.MyShortCutPath = "c:\"
  • Var = DirExplorer1.SelectedItem.Text
  • DirExplorer1.TreeRoot = DirExplorerOCX.DirExplorer.enumTreeRoot.PosteDeTravail
  • DirExplorer1.SelectedItem.Checked = True
'-------------------------------------------------------------------------------------------------------------
'un exemple pour récupérer toutes les branches cochées
'-------------------------------------------------------------------------------------------------------------
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
    MsgForNodeChecked(DirExplorer1.Root)
End Sub

Private Sub MsgForNodeChecked(ByVal Node As DirExplorerOCX.DirExplorerNode)

    Dim NodeFille As DirExplorerOCX.DirExplorerNode

    For Each NodeFille In Node.Nodes
        If NodeFille.IsExpanded = True Then
            MsgForNodeChecked(NodeFille)
        ElseIf NodeFille.CheckState = CheckState.Checked Then
            MsgBox(NodeFille.Text)
        End If
    Next

    If Node.CheckState = CheckState.Checked Then MsgBox(Node.Text)

End Sub


'-------------------------------------------------------------------------------------------------------------
'exemple d'utilisation de certaines propriétés
'-------------------------------------------------------------------------------------------------------------
DirExplorer1.CheckBoxes = True

DirExplorer1.UseCustomIcon = True
DirExplorer1.UseContextMenu = True
DirExplorer1.MyShortCutPath = "c:\"

Var = DirExplorer1.SelectedItem.Text

DirExplorer1.TreeRoot = DirExplorerOCX.DirExplorer.enumTreeRoot.PosteDeTravail

DirExplorer1.SelectedItem.Checked = True


Conclusion

Fonctionnalité en tête (et oui je sais pas encore si elles seront toutes implémentées)
- intéraction avec un FileExplorer (listview de fichiers) (fileexplorer non développé pour le moment)
- menu contextuel (fonctionnalité disparue mais que je vais développer avec certitude)  << Note du 18/04/2007 : c'est fait
- possibilité de déplacer les répertoires (couper/coller)
- possibilité de créé une racine MyShortcutDir avant la racine principale pointant vers un dossier particulier (je viens d'avoir l'idée alors je sais pas pour quand ce sera ;-) )   << Note du 18/04/2007 : c'est fait

Toutes ces fonctionnalités seront bien évidemment activable ou non... << note du 18/04/2007 : pour celles qui sont implémentées ça l'est

Enfin : merci encore à Renfield qui m'avait permi de réaliser la version VB6 sans laquelle je n'aurais jamais fait celle-ci
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

05 avril 2006 17:43:23 :
- ajout d'un test pour vérifier la validité d'un chemin avant de le mettre en surveillance de modification
07 avril 2006 21:28:37 :
- j'avais promis de nouvelles fonctions... voici la première: gestion du menu contextuel ajouté... pour l'activer, définissez UseContextMenu à True et hop...le tour est joué
08 avril 2006 15:44:56 :
- ecnore une nouvelle fonction: MyShortCutPath : permet de définir un raccourci vers un dossier en premier item enfant de la racine... MyShortCutIcon : permet de définir un icon perso pour MyShortCut UseCustomIcon : permet de dire si on utilise ou non l'icon perso pour MuShortCut... -J'ai également ajouté un projet exe afin de pouvoir tester plus facilement le contrôle car maintenant certaine propriété ne sont plus accessible au moment du design (c'est propriétés sont : Path (pour ouvrir une arborescence) et MyShortCutPath (pour ajouter un raccourci)
10 avril 2006 11:28:30 :
- correction : petit problème si le poste de travail ne s'appelle pas comme dans le fichier shell32.dll...le test est maintenant fait avec le nom réel de la station de travail ---------------------------------------------------------------------------------------------------------- If LCase(Node.Text) = LCase(GetResourceString("Shell32.dll", IDS_SHELL32.MYCOMPUTER)) Then devient : If CType(Node.Tag, ClsDirectory).Path = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" Then ----------------------------------------------------------------------------------------------------------
18 avril 2007 14:59:54 :
Note du 18/04/2007 : et maintenant il fait encore plus fort ;-) - ajout d'un raccourci perso avec icon perso sous la racine - ajout de checkbox 3 états - ajout des fichiers du répertoire - navigation dans les branches via une énumération - récupération des propriétés : * Text * Path * Checked * CheckState * Parent * Tag (ça c'est pour mettre un object pour ceux qui veulent) * IsExpanded * Nodes (ça c'est une énumération pour naviguer dans l'arborescence) - deux méthodes: * Expand et Collapse

Commentaires et avis

signaler à un administrateur
Commentaire de Dalida le 05/04/2006 16:06:28

salut,

je l'ai juste testé et je ne connaissais pas la version précédente mais cela me plait beaucoup (9/10) !

j'ai juste levé une erreur en essayant de parcourir le réseau :

| L'exception System.ArgumentException n'a pas été gérée
|   Message="Le nom de répertoire EntireNetwork n'est pas valide."
|   Source="System"
|   StackTrace:
|        à System.IO.FileSystemWatcher.set_Path()
|        à DirExplorerOCX.DirExplorer.TView_BeforeExpand()
|        dans DirExplorer.vb:ligne 427
    

signaler à un administrateur
Commentaire de yomm le 05/04/2006 17:37:11

>>Dalida (ça fait bizarre)

Désolé de cette erreur j'ai en effet compris d'où vient le problème, je corrige de suite

signaler à un administrateur
Commentaire de yomm le 05/04/2006 17:44:55

et voiloù c'est corrigé...

PS:
>>Dalida
au fait, merci pour la note ;-)

signaler à un administrateur
Commentaire de Dalida le 05/04/2006 18:09:15

dans ton source je n'ai pas trouvé la trace du formulaire de test. il est caché ou ?

par ailleurs, il y a une question en cours à laquelle j'ai répondu en citant ce source. peut-être pourras-tu éclairer Thefada au sujet du FileSystemWatcher.
le post est ici :
http://www.vbfrance.com/forum.v2.aspx?ID=706966

(bizarre, comment ça bizarre ? il est très bien mon pseudo du show biz !)

;o)

signaler à un administrateur
Commentaire de yomm le 05/04/2006 18:18:35

>> Dalida
1) je voulais simplement dire ke cela me faisait bizzare de parler à "Dalida" ;-)

2) Qu'entends tu par "formulaire de test"?

3) je regarde de suite le poste de Thefada

signaler à un administrateur
Commentaire de Dalida le 05/04/2006 18:36:15

ben le formulaire qui s'affiche à l'execution de ton projet dans VB Express. comme je ne trouve pas le code correspondant je soupçonne une fonction de l'EDI, inconnue de moi.

un screenshot à :
http://img467.imageshack.us/img467/9559/direxplorer8wr.jpg

signaler à un administrateur
Commentaire de yomm le 05/04/2006 19:07:03

tu parles de l'interface pour tester le DirExplorer??? j'ai rien fait de particulier...c'est surement lié au type du projet...vu que vb express détecte un usercontrol il doit automatiquement créer l'environnement je suppose...

signaler à un administrateur
Commentaire de yomm le 08/04/2006 15:48:21

De nouvelles foncions ont été ajoutées...lisez les commentaires de mise à jour pour infos et regardez le screenshot...
(PS pour ceux k'on déjà vu le screenshot il semblerait k'un ctrl+F5 peut être nécessaire pour actualiser...en tout cas moi j'en ai eu besoin ;-)

Bon dev @ tous

signaler à un administrateur
Commentaire de romagny13 le 10/04/2006 13:30:23

POooooooo mallll !!

signaler à un administrateur
Commentaire de samu_ham le 24/06/2006 13:44:33

salut

je voudrais que vous m'aidier sur mon projet explorer inclus un checkbox quand jecoche le check il crée une signature numerique dans accéss tu peut me donner le code pour intégrer le chéckbox dans ton explorer

cordialement

signaler à un administrateur
Commentaire de yomm le 16/04/2007 10:46:26

>> SAMU_HAM

Salut,

je vais bientot inclure la gestion de checkbox dans le contrôle.

signaler à un administrateur
Commentaire de yomm le 18/04/2007 15:04:42

>> samu_ham

Ca y est j'ai mis le checkbox et un exemple pour récupérer les branches qui sont cochées.

@+ et bon Dev

signaler à un administrateur
Commentaire de lo4 le 07/05/2007 22:56:47

Salut
merci pour cet excellent travail
10/10

signaler à un administrateur
Commentaire de yomm le 02/06/2007 16:17:53

Salut,

pour ce qui avaient aimé cela, venez voir ça :
http://www.vbfrance.com/code.aspx?ID=42960

le DirExplorer légèrement modifié ;-) avec un FileExplorer le tout dans un YommExplorer ;-)

@+

signaler à un administrateur
Commentaire de Vici1 le 24/11/2008 01:27:46 9/10

Super, c'est exactement ce que je cherchais. Seul bémol, l'arborescence du dossier