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 !

Sujet : cours en ligne [ Divers / Débutants ] (nerd24)

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é 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 Sélection de ligne dans in DataGridView [ par juju8684 ] Bonjour à tous,J'ai un problème pour la sélection des lignes dans mon datagridview : Je peux en cliquant sur un bouton modifier une case de la ligne s probleme avec un "Open for Imput" [ par 6xavier6 ] Bonjour a tousMon probleme est le suivant :quand je fait un Open for Input, et que jaffiche le contenu du fichier ouvert dans une TextBox, les virgule Un grand classique je suppose... [ par grantmath ] Bonjour,Tout d'abord je l'avoue je suis un bon grand débutant en Visual basic et je remercie encore une fois l'un des memebres qui se reconnaitra qui Source html d'un webbrowser AVEC iframe. [ par fabulofr ] Rebonjour.Toujours en cours de dev d'un autre projet pour lequel j'ai déjà un sujet en cours dans ce forum.Question :J'ai une page qui se charge dans lire une ligne qq dans un fichier [ par AKRAMNOUIR ] salut je veut savoir comment affiher le contenu  d'une ligne dans un fichier txt ( par exemple )Private Sub suivant_Click()If Not EOF(1) ThenLine Inpu vba exel [ par CAMIONMAN ] Bonjour à vous,je me suis fait un petit classeur sur exel,ou je met tout les jours ou un fois par semaine mes heures de conduites,amplitude,kilometres Recuperation cours de bourse VB.NET [ par spacepig ] Bonjour à tous,Quelqu'un connaîtrait il un moyen simple de recupérer un cours de bourse (dans boursorama ou yahoo finance) pour l'afficher dans un dat


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.