none
afficher le poste de travail dans un ListView RRS feed

  • Question

  •  

    bonjour à toutes et à tous

    comment afficher le «poste de travail» dans un listView ?

    pour afficher les supports disponibles, par exemple : 

    string[] drives = Environment.GetLogicalDrives();
    foreach (string support in drives)
    {  ...listView1.Items.Add...
    
     mais je ne trouve pas d'exemples que je comprenne pour afficher
    disques durs...
    lecteurs dvd...
    panneau de config
    documents partagés
    mes documents
    ...

    si vous pouviez m'aider, m'aiguiller, me donner un exemple....
    merci d'avance.

     

    samedi 4 juin 2011 09:49

Réponses

Toutes les réponses

  • Bonjours

    Il y a des composants qui sont déja disponibles et que vous pouvez les utiliser directement dans votre code

    Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
    dlg.FileName = "Document"; // Default file name
    dlg.DefaultExt = ".txt"; // Default file extension
    dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension
    
    // Show open file dialog box
    Nullable<bool> result = dlg.ShowDialog();
    
    // Process open file dialog box results
    if (result == true)
    {
      // Open document
      string filename = dlg.FileName;
    }
    
    


    The complexity resides in the simplicity Follow me at: http://smartssolutions.blogspot.com
    dimanche 5 juin 2011 10:49
  • je vous remercie de votre réponse, mais vous me proposez une boite de dialogue pour choisir un répertoire, un fichier... j'aimerais afficher le "contenu du poste de travail" ( les supports disponibles, mes Documents, les documents partagés, le panneau de config... etc, enfin, ce qui est affiché dans le «poste de travail» quoi ) dans un listeView
    dimanche 5 juin 2011 12:00
  •  

    Rebonjours _Bul

    Ah maintenant je comprend votre demande. Vous voulez creer un composant qui explore le contenu dans votre poste de travail dans votre interface logicielle. Mais juste une petite question est ce que vous voulez les afficher dans une liste view or dans une tree view etant donné la nature de structure recursive des dossiers. Autrement dit des dossiers peuvent contenir d'autre dossiers

    Note: Les deux implementations sont possibles

    Cordialement

     


    The complexity resides in the simplicity Follow me at: http://smartssolutions.blogspot.com
    dimanche 5 juin 2011 13:02

  • pour apprendre le c#, je me développe un petit explorateur
    de fichiers (multi-fenêtres). il fonctionne. je fignole les
    fonctionnalités. 

    >>des dossiers peuvent contenir d'autre dossiers
    dans un listview on peut faire aussi 

    un listview me convient nettement mieux qu'un treeview :
    je peux aller dans les sous-répertoires, revenir au
    répertoire parent, exécuter les fichiers, copier/coller...

    pour l'instant à la création d'une nouvelle fenêtre
    j'affiche la liste des supports disponibles, mais
    le "poste de travail" me conviendrait mieux.

    >>Les deux implementations sont possibles
    nickel, si c'est possible
    une piste, une aide, un exemple pour m'aider ?
    merci
     

    si vous voulez voir un exemple pour mieux comprendre : 
    http://www.monsterup.com/image.php?url=upload/1307286405938.jpg

    dimanche 5 juin 2011 15:00
  • Bonjour, _Bul,

    Pour obtenir les informations dont vous avez besoin vous pouvez utiliser la classe System.IO.DriveInfo. Consultez aussi ce lien pour voir une autre possibilité d’obtenir ces informations.

    Bonne journée,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mardi 7 juin 2011 06:57
  • merci Ciprian,


    mais : Driveinfo Fournit l'accès à des informations sur le lecteur spécifié


    je ne cherche pas des infos sur un lecteur, je cherche à afficher le "poste de travail"


    @+

    mardi 7 juin 2011 11:27
  • Bonjour,

    Le « poste de travail » est en fait le « dosier Ordinateur » qui contient les informations concernant les disques durs et les périphériques utilisant des supports de stockage amovibles et DriveInfo fournit des informations sur ces objets. Apres relire cette discussion je comprends que vous voulez en fait recréer l’objet NavigationPane d’Explorer donc il faut préciser exactement ce que vous voulez. Les informations de « Favoris » et « Bibliothèques » dépend sur l’utilisateur curent et représente des raccourcis vers répertoires de C:\users\<num_utilisater>. Donc il suffit trouver l’utilisateur Windows curent et vous pouvez créer les dossiers dont vous parlez.

     

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mardi 7 juin 2011 12:47

  • pour apprendre le c#, je me développe un petit explorateur
    de fichiers (multi-fenêtres). il fonctionne. je fignole les
    fonctionnalités. 

    >>des dossiers peuvent contenir d'autre dossiers
    dans un listview on peut faire aussi 

    un listview me convient nettement mieux qu'un treeview :
    je peux aller dans les sous-répertoires, revenir au
    répertoire parent, exécuter les fichiers, copier/coller...

    pour l'instant à la création d'une nouvelle fenêtre
    j'affiche la liste des supports disponibles, mais
    le "poste de travail" me conviendrait mieux.

    >>Les deux implementations sont possibles
    nickel, si c'est possible
    une piste, une aide, un exemple pour m'aider ?
    merci
     

    si vous voulez voir un exemple pour mieux comprendre : 
    http://www.monsterup.com/image.php?url=upload/1307286405938.jpg


    Bonjours Bul

    voici un code pour explorer les dossiers en list box

    namespace WindowsApplication
    {
     public partial class Form1 : Form
     {
      public Form1()
      {
       InitializeComponent();
       /* Ajouter un context menu strip lorseque vous cliquer souris boutton droit
       * if vous permet de retourner vers les repertoires*/
       listBox1.ContextMenuStrip = contextMenuStrip1;
       contextMenuStrip1.Items[0].Click += new EventHandler(toolStripMenuItem1_Click);
      }
    
      DirectoryInfo directory;
      string path;
    
      private void button1_Click(object sender, EventArgs e)
      {
       InitializeList();
    
      }
    
      private void InitializeList()
      {
       listBox1.Items.Clear();
       path = "Mettre ici le chemin que vous desirez";
       directory = new DirectoryInfo(path);
       GetInfo(directory);
      }
    
      public void GetInfo(DirectoryInfo directoryInfo)
      {
       foreach (var item in directoryInfo.GetDirectories("*", SearchOption.AllDirectories))
       {
        listBox1.Items.Add(item);
       }
      }
    
      private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
      {
       string directoryName = (string)listBox1.SelectedValue;
       listBox1.Items.Clear();
       foreach (FileInfo item in new DirectoryInfo(path + directoryName).GetFiles())
       {
        listBox1.Items.Add(item);
       }
      }
      /* Ajouter un context menu strip lorseque vous cliquer souris boutton droit
       * if vous permet de retourner vers les repertoires*/
      private void toolStripMenuItem1_Click(object sender, EventArgs e)
      {
       InitializeList();
      }
    
      
     }//Class
    }//Namespace
    
    

    The complexity resides in the simplicity Follow me at: http://smartssolutions.blogspot.com
    mardi 7 juin 2011 13:15
  • merci MASNSN,
    explorer les supports, les répertoires dans un treeview ou un listview : je sais faire.
    et merci CIPRIAN
    on va finir par se comprendre
    oui, je veux recréer, afficher le "panneau de navigation de windows explorer"
    si vous l'appelez ainsi

    un dessin pour me faire comprendre ici :

    http://www.monsterup.com/image.php?url=upload/1307458487309.jpg 

    mardi 7 juin 2011 14:57
  • merci MASNSN,
    explorer les supports, les répertoires dans un treeview ou un listview : je sais faire.
    et merci CIPRIAN
    on va finir par se comprendre
    oui, je veux recréer, afficher le "panneau de navigation de windows explorer"
    si vous l'appelez ainsi

    un dessin pour me faire comprendre ici :

    http://www.monsterup.com/image.php?url=upload/1307458487309.jpg 


    Bonsoir

    Oui c'est encore possible, dans ce cas on cree un controle persnalise pour WinForms, ce la sera une tres belle occasion pour comprendre comment en cree un control personnalise pour les WinForms. Essaye donc de le developper


    The complexity resides in the simplicity Follow me at: http://smartssolutions.blogspot.com
    mardi 7 juin 2011 19:50
  • >>...comprendre comment on cree un control personnalise pour les WinForms.. certes, certes, probablement, mais dans ce contrôle personnalisé, je ne vois toujours pas comment afficher "le contenu du poste de travail" ! @+
    mercredi 8 juin 2011 04:56
  • Bonjour,

    En fait, on ne parle pas de la même chose, vu que je pensais a Windows 7 dans lequel le « poste de travail » est devenu « Ordinateur » et dans explorer on a aussi le NavigationPane dans lequel on a toutes les informations dont vous parlez. Mais le contenu est presque le même.

     

    Pour revenir à votre question la méthode statique DriveInfo.GetDrives vous donnera la liste des disques durs et lecteurs. Vous pouvez utiliser la propriété DriveType pour déterminer le type de drive. Puis les « Documents partagés » représentent un raccourci vers C:\Documents and Settings\All Users\Documents. « Mes Documents » dépende sur l’utilisateur curent. Je vous ai déjà donne un lien pour le récupérer et donc « Mes Documents » sera un raccourci vers C:\Documents and Settings\<nom_utilisateur>.

     

    Le « Panneau de configuration » n’est pas un dossier. En fait le panneau de configuration est un système d’application qui se trouvent dans C:\Windows\System32, plus précis les fichiers avec l’extension .cpl lance les différents applications pour configurer l’ordinateur.

     

    Bonne journée,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mercredi 8 juin 2011 07:06
  • ok CIPRIAN,

    j'aurais du préciser la version de Windows ( xp encore à ce jour chez moi )

    je pensais qu'il y aurait plus simple pour retrouver "le poste de travail" 

    j'avais vu, je ne sais plus où, un "truc" avec "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}"
    mais impossible de mettre en oeuvre.

    pas sûr que  ce qui est affiché dans le "poste de travail" corresponde
    au contenu de  C:\Documents and Settings\<nom_utilisateur>.
     mais bon, j
    e vais me débrouiller avec ce que vous m'avez appris.

    merci encore de vos interventions.
     

     

    mercredi 8 juin 2011 10:20
  • Bonjour,

    Pour "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}" vous pouvez trouver un exemple avec du code VB sur ce lien :

     

    http://www.codeproject.com/KB/system/ExplorerObjects.aspx

     

    et je vois qu’il y a en fait une lien pour « Mes Documents ». Donc il suffit transformer le code en C# (les liens suivants peuvent vous aider le faire vb-to-csharp ou VB to C#).

     

    Cordialement,

    Cipri


    Suivez MSDN sur Twitter   Suivez MSDN sur Facebook


    Ciprian DUDUIALA, MSFT  
    •Nous vous prions de considérer que dans le cadre de ce forum on n’offre pas de support technique et aucune garantie de la part de Microsoft ne peut être offerte.

    mercredi 8 juin 2011 11:26
  • merci Ciprian. 

    jeudi 9 juin 2011 10:00