begin process at 2012 02 16 12:08:29
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Divers

 > 

Débutants

 > 

cours en ligne


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

cours en ligne

mercredi 19 mars 2008 à 11:54:16 | cours en ligne

nerd24

Bonjour,
est ce que qqun saurait ou je peux trouver un cours en ligne sur vb.net dans lequel une partie est consacrée au treeview. J'ai beau chercher je trouve pas.
Merci d'avance

mercredi 19 mars 2008 à 12:33:32 | Re : cours en ligne

Renfield

Administrateur CodeS-SourceS
Exprime ton besoin, tes blocages.

les réponses se trouvent bien souvent dans la doc MSDN...
sachant que des exemples y sont très souvent dispo
mercredi 19 mars 2008 à 14:39:41 | Re : cours en ligne

Le newbie

Salut, euh sinon là http://plasserre.developpez.com/vbintro2.htm
mercredi 19 mars 2008 à 15:09:47 | Re : cours en ligne

nerd24

ba je les ai deja exprimé mais je repete:

j'ai fait un treeview sous vb.net.
Dans Form1.vb j'ai ecrit le programme suivant:

Imports System

Imports

System.Collections.Generic

Imports

System.Text

Imports

System.Windows.Forms

Imports

System.IO

Imports

System.Diagnostics

Imports

System.Drawing

Imports

System.Data

 

Public

Class Form1

Private Sub TreeView1_AfterSelect( ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect

Dim z As TreeNode

For Each z In e.Node.Nodes

Explor(z)

Next z

End Sub

Private Sub Form1_Load( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase .Load

TreeView1.Nodes.Add(

"c:\" )

TreeView1.Nodes.Add(

"d:\" )

TreeView1.Nodes.Add(

"g:\" )

TreeView1.Nodes.Add(

"p:\" )

Explor(TreeView1.Nodes.Item(0))

Explor(TreeView1.Nodes.Item(1))

Explor(TreeView1.Nodes.Item(2))

Explor(TreeView1.Nodes.Item(3))

End Sub

Private Sub TreeView1_AfterCheck( ByVal sender As Object , ByVal e As _

System.Windows.Forms.TreeViewEventArgs)

Handles TreeView1.AfterCheck

For Each Tn As TreeNode In e.Node.Nodes

Tn.Checked = e.Node.Checked

Next

End Sub

Private Sub Button5_Click( ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

End

End Sub

End

Class

Et dans mon module:

Imports

System

Imports

System.IO

Imports

System.Windows.Forms

Imports

System.Drawing

Module

Module1

Sub Explor(ByVal Node As TreeNode)

Try

Node.Nodes.Clear()

Dim s AsString

ForEach s In Directory.GetDirectories(Node.FullPath)

Node.Nodes.Add(Path.GetFileName(s))

Next s

Catch

EndTry

EndSub

End

Module

Donc je recupere en gros dans mon treeview le poste de travail de l'ordi.

Mais je n'arrive pas a mettre les icone pour identifier fichier, lecteur cd...

Et je dois vraiment garder le treeview.
mercredi 19 mars 2008 à 15:13:30 | Re : cours en ligne

Renfield

Administrateur CodeS-SourceS
ok, donc au programme:

possible de binder le treeview a l'imagelist systeme, et de lier les Nodes aux icones en utilisant les bons index...

possible aussi de dupliquer tes icones, en les ajoutant dans ton imagelist
mercredi 19 mars 2008 à 15:17:33 | Re : cours en ligne

nerd24

En fait je suis debutant et meme avec les livres et ce que je vais voir sur internet j'ai beaucoup de mal.
Mais il existe pas un petit code que je mettrai dans Form1.vb pour le realiser. Je pensais que c'etait un truc qui se faisait couramment.
mercredi 19 mars 2008 à 15:38:38 | Re : cours en ligne

Renfield

Administrateur CodeS-SourceS

http://www.codeguru.com/forum/archive/index.php/t-417770.html

mercredi 19 mars 2008 à 15:48:58 | Re : cours en ligne

Renfield

Administrateur CodeS-SourceS
Réponse acceptée !
ce qui donne :


Imports System.IO
Imports System.Runtime.InteropServices

Public Class Form1
    Private Structure SHFILEINFO
        Public hIcon As IntPtr ' : icon
        Public iIcon As Integer ' : icondex
        Public dwAttributes As Integer ' : SFGAO_ flags
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=260)> _
        Public szDisplayName As String
        <MarshalAs(UnmanagedType.ByValTStr, SizeConst:=80)> _
        Public szTypeName As String
    End Structure

    Private Declare Auto Function SHGetFileInfo Lib "shell32.dll" _
    (ByVal pszPath As String, _
    ByVal dwFileAttributes As Integer, _
    ByRef psfi As SHFILEINFO, _
    ByVal cbFileInfo As Integer, _
    ByVal uFlags As Integer) As IntPtr

    Private Const SHGFI_ICON = &H100
    Private Const SHGFI_SMALLICON = &H1
    Private Const SHGFI_LARGEICON = &H0 ' Large icon
    Private Const MAX_PATH = 260

    Private Sub AddImages(ByVal strFileName As String)

        Dim shInfo As SHFILEINFO
        shInfo = New SHFILEINFO()
        shInfo.szDisplayName = New String(vbNullChar, MAX_PATH)
        shInfo.szTypeName = New String(vbNullChar, 80)
        Dim hIcon As IntPtr
        hIcon = SHGetFileInfo(strFileName, 0, shInfo, Marshal.SizeOf(shInfo), SHGFI_ICON Or SHGFI_SMALLICON)
        Dim MyIcon As Drawing.Bitmap
        MyIcon = Drawing.Icon.FromHandle(shInfo.hIcon).ToBitmap
        ImageList1.Images.Add(strFileName.ToString(), MyIcon)

    End Sub

    Private Sub AddAllFolders(ByVal TNode As TreeNode, ByVal FolderPath As String)
        Try
            For Each FolderNode As String In Directory.GetDirectories(FolderPath)
                Dim SubFolderNode As TreeNode = TNode.Nodes.Add(FolderNode.Substring(FolderNode.LastIndexOf("\"c) + 1))

                SubFolderNode.Tag = FolderNode

                SubFolderNode.Nodes.Add("Loading...")
            Next
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim Tnode As TreeNode = TreeView1.Nodes.Add("(Drive C:)")
        AddImages("C:\Windows\")
        AddAllFolders(Tnode, "C:\")
        ListView1.View = View.Details
        ' Add a column with width 80 and left alignment
        ListView1.Columns.Add("File Name", 150, HorizontalAlignment.Left)
        ListView1.Columns.Add("File Type", 80, HorizontalAlignment.Left)
        ListView1.Columns.Add("Date Modified", 150, HorizontalAlignment.Left)
    End Sub

    Private Sub Treeview1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
        Dim FileExtension As String
        Dim SubItemIndex As Integer
        Dim DateMod As String
        ListView1.Items.Clear()
        If TreeView1.SelectedNode.Nodes.Count = 1 AndAlso TreeView1.SelectedNode.Nodes(0).Text = "Loading..." Then

            TreeView1.SelectedNode.Nodes.Clear()

            AddAllFolders(TreeView1.SelectedNode, CStr(TreeView1.SelectedNode.Tag))

        End If
        Dim folder As String = CStr(e.Node.Tag)
        If Not folder Is Nothing AndAlso IO.Directory.Exists(folder) Then
            Try
                For Each file As String In IO.Directory.GetFiles(folder)
                    e.Node.Nodes.Add(file.Substring(file.LastIndexOf("\"c) + 1))

                Next
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End If

        If Not folder Is Nothing AndAlso IO.Directory.Exists(folder) Then
            Try
                For Each file As String In IO.Directory.GetFiles(folder)
                    FileExtension = IO.Path.GetExtension(file)
                    DateMod = IO.File.GetLastWriteTime(file).ToString()
                    AddImages(file)
                    ListView1.Items.Add(file.Substring(file.LastIndexOf("\"c) + 1), file.ToString())
                    ListView1.Items(SubItemIndex).SubItems.Add(FileExtension.ToString() & " File")
                    ListView1.Items(SubItemIndex).SubItems.Add(DateMod.ToString())
                    SubItemIndex += 1
                Next
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
        End If

    End Sub

    Private Sub Treeview1_BeforeExpand(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewCancelEventArgs) Handles TreeView1.BeforeExpand

        If e.Node.Nodes.Count = 1 AndAlso e.Node.Nodes(0).Text = "Loading..." Then

            e.Node.Nodes.Clear()
            AddAllFolders(e.Node, CStr(e.Node.Tag))

        End If

    End Sub

End Class
mercredi 19 mars 2008 à 15:56:21 | Re : cours en ligne

nerd24

Merci je pense que c'est exactement ce que je cherche.
Un dernier truc. J'ai lu vite fait le document e tout a la fin il y a ecrit :
Add the Call to the AddImages function, in the TreeView_AfterSelect event, just underneath DateMod = IO.File.GetLastWriteTime(file).ToString()
Est ce que tu pourrais me preciser ce que je dois faire, ce que je dois ecrire plus precisement et ou?
mercredi 19 mars 2008 à 16:00:48 | Re : cours en ligne

nerd24

j'avais pas vu ton dernier message et je l'ai recopié tel quel et ça marche mais sans icone!!!!

1 2

Cette discussion est classée dans : ligne, cours


Répondre à ce message

Sujets en rapport avec ce message

Mise à jour datagrid ! Ligne en cours non pris en compte !!! [ par boumbo73 ] Bonjour !Voila ca va faire une semaine que je bloque completement !J'ai un datagrid dans lequel j'importe des données d'une base de données. Lorsque j DatagridView valider les modifications en cours [ par Sbt ] Bonjour à tous,Voici mon probleme :j'ai un datagridview. lorsque l'utilisateur de l'appli modifie une cellule (de type combobox), le picto en debut de RichTextBox et sélection de ligne [ par astvt ] Bonjour, j'écris un programme de simulation pour micro et j'utilise une zone RichTextBox pour afficher le programme à simuler.Une RichTextBox plutot q fameuse datagridview que je n'arrive toujours pas à créer [ par josker ] Hello !!! :pJ'ai un gros probleme et cà urge, et je vous demande de l'aide!!!J'aimerais créer un tableau comme sur excel, avec les colones " code, des suppression ligne conditionnelle [ par chinou51000 ] Bonjour, j'ai crée une macro mais celle me pose quelques problemes... j'ai deux listes de nom dans 2 feuilles différentes, chacune dans la colonne "A [VBA]Bouton pour créer ligne de textbox [ par Ocin2 ] Bonjour, Je créer sur VB un devis automatisé. Dans un userform j'ai créé 3 textboxs les uns à côté des autres, le premier correspondant à la descript Macro pour fixer hauteur ligne et largeur colonnes [ par darchisgod ] Bonjour, voila une question toute bête mais que je n'arrive pas à résoudre. je voudrais créer une macro qui me permet d'avoir une hauteur de ligne de Je propose un Jeu de Géographie : Apprentissage ou Test de vos connaissances du réseau hydrographique français. [ par gmarquer ] J'ai été faciné par un jeu trouvé sur Internet qui proposait, sur une carte de France, de cliquer sur le fleuve ou la rivière demandé(e). Bonne ou ma Problème pour lire un fichier tout se trouve sur la même ligne [ par le_bricolo ] bonjour, J'ai un problème pour lire un fichier, tout le fichier se trouve sur une ligne. Lorsque j'ouvre le fichier en question avec le bloc note de Ajout d'items listbox a l'aide d'un streamreader sur un .txt [ par FaonManager ] Bonjour, je suis en train de développer un navigateur web en vb.net mais j'ai un soucis, je veux faire un système de favoris qui lorsque l'on clique s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,700 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales