Meilleur auteur de réponses
afficher le poste de travail dans un ListView

Question
-
bonjour à toutes et à tous
comment afficher le «poste de travail» dans un listView ?
pour afficher les supports disponibles, par exemple :
mais je ne trouve pas d'exemples que je comprenne pour afficherstring[] drives = Environment.GetLogicalDrives(); foreach (string support in drives) { ...listView1.Items.Add...
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.
Réponses
-
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
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.
- Proposé comme réponse Gabriel MongeonModerator jeudi 9 juin 2011 15:05
- Marqué comme réponse Ciprian Duduiala vendredi 10 juin 2011 11:29
-
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, je vais me débrouiller avec ce que vous m'avez appris.
merci encore de vos interventions.
- Marqué comme réponse Ciprian Duduiala vendredi 10 juin 2011 11:29
-
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
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.
- Marqué comme réponse Ciprian Duduiala vendredi 10 juin 2011 11:29
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 -
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
-
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 -
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
si vous voulez voir un exemple pour mieux comprendre :
nickel, si c'est possible
une piste, une aide, un exemple pour m'aider ?
merci
http://www.monsterup.com/image.php?url=upload/1307286405938.jpg
-
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
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.
-
-
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
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.
-
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
si vous voulez voir un exemple pour mieux comprendre :
nickel, si c'est possible
une piste, une aide, un exemple pour m'aider ?
merci
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 -
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 ainsiun dessin pour me faire comprendre ici :
http://www.monsterup.com/image.php?url=upload/1307458487309.jpg
-
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 ainsiun dessin pour me faire comprendre ici :
http://www.monsterup.com/image.php?url=upload/1307458487309.jpg
BonsoirOui 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 -
-
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
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.
- Proposé comme réponse Gabriel MongeonModerator jeudi 9 juin 2011 15:05
- Marqué comme réponse Ciprian Duduiala vendredi 10 juin 2011 11:29
-
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, je vais me débrouiller avec ce que vous m'avez appris.
merci encore de vos interventions.
- Marqué comme réponse Ciprian Duduiala vendredi 10 juin 2011 11:29
-
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
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.
- Marqué comme réponse Ciprian Duduiala vendredi 10 juin 2011 11:29
-