Yommexplorer.net explorer / explorateur de dossiers répertoires fichiers (vrais icones, menu contextuel, raffraichissement a

Description

Bonjour @ tous & toutes,

Voici la version .Net du YommExplorer OCX.
Reprise des anciennes fonctionnalités et ajout de nouvelles :

Pour le DirExplorer (arborscence répertoires)
- véritables icônes ( + racourcis , + partage)
- choix de la racine (bureau, poste de travail...)
- possibilité d'ajout d'un "racourcis" sous la racine
- checkbox 3 états
- affichage de fichiers
- menu contextuel windows
- raffraichissement automatique lorsqu'un dossier/fichier est créé par une autre appli ou via l'explorateur Windows
- récupération des nodes via énumération

Pour le FileExplorer (affichage des fichiers)
- véritables icônes ( + racourcis , + partage)
- possibilité de lier automatique le FileExplorer à un DirExplorer
- plusieur modes d'affichages : Liste, Détails, Icones et Mosaïque (cf impression écran pour ce dernier mode)
- menu contextuel + interraction automatique lors d'action du type copier/coller , nouveau document etc...
- possibilité de filtrer par extension
- possibilité d'afficher/masquer les dossiers
- possibilité d'afficher/masquer les éléments cachés
- utilisation des racourcis clavier (CTR+C, CTR+V , F2 ...)
- checkbox 2 états
- en mode détail : possibilité de modifier les colonnes affichés par click droit sur l'entête
- gestion du tri ("réorganiser par" ou par click sur l'entête de colonne en mode détail)
- récupération des items via énumération

et j'en oublie peut être...

bref tout plein de chose pour faire un vrai navigation dans une appli...

Source / Exemple :


'-------------------------------------------------------
'Exemples DirExplorer
'-------------------------------------------------------

'exemple pour obtenir la node sélectionnée:
    MsgBox(DirExplorer1.SelectedItem.Text)

'exemple pour obtenir les nodes 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 YommExplorer.DirExplorerNode)

        Dim NodeFille As YommExplorer.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

'-------------------------------------------------------
'Exemples FileExplorer
'-------------------------------------------------------

'exemple pour récupérer les fichiers
    Dim fileitem As YommExplorer.FileExplorerItem

    For Each fileitem In FileExplorer1.Items
       Debug.Print(fileitem.Text)
    Next

'exemple pour récupérer les items cochés
    Dim fileitem As YommExplorer.FileExplorerItem

    For Each fileitem In FileExplorer1.Items
        If fileitem.Checked = True Then Debug.Print(fileitem.Text)
    Next

Conclusion :


les notions abordées ici :

- héritage d'un controle pour en faire un contrôle perso
- héritage de type pour ajouter et/ou modifier des types (exemple : TriStateTreeNode hérite de Node mais permet des nodes avec checkbox 3 états)
- surchage de fonction (exemple : fonction New de la class ClsDirectory)
- subclassing
- traitement des icones, informations des fichiers etc...
- ajout d'icône dans le header d'un listview
- gestion du menu contextuel Windows et du menu nouveau
- gestion des interfaces : IUnknown, IShellDetails, IEnumIDList, IShellFolder, IcontextMenu, IcontextMenu2, IcontextMenu3, IShellExtInit, IDropTarget
- implémentation d'une propriété de type enumeration (exemple : FileExplorerItemEnumerable)
- gestion du FileSystemWatcher et des threads différents

et bien d'autres encore...

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.