Faire contenir un fichier pdf ouvert à partir d'un TreeView dans un panel
ahorel
Messages postés11Date d'inscriptionmercredi 16 mars 2011StatutMembreDernière intervention19 avril 2011
-
16 mars 2011 à 07:46
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 2013
-
17 mars 2011 à 09:51
Bonjour,
J'ai en fait deux questions:
1) J'ai crée un contrôle TreeView qui autorise le lancement de fichiers en double cliquant dessus dans l'arbre. Voici le code source :
if (e.Action == TreeViewAction.ByMouse)
{
System.Diagnostics.Process.Start(e.Node.FullPath)
}
}
Je souhaiterai que ce fichier soit ouvert dans un panneau contenu sur la droite du windows form. J'ai essayé d'utiliser la même commande dans un contrôle panel, mais celuici ne connait pas e.Node .
2) Je souhaiterai également interdire d'ouvrir des dossiers de cette facon, c'est a dire filtrer entre les node "dossiers" et les node "fichiers", j'ai essayé de filtrer par type dans la même méthode :
foreach(PropertyDescriptor descriptor in TypeDescriptor.GetProperties(e))
{
string name=descriptor.Name;
object value=descriptor.GetValue(e);
MessageBox.Show(name + value);
}
// if (e.Node.GetType() is file)
//{
//MessageBox.Show(e.Node.GetType().ToString());
System.Diagnostics.Process.Start(e.Node.FullPath);
//}
}
Malheureusement les node fichier et dossiers sont tous de type TreeNode :(
Connaissez vous une solution ?
Merci,
A. HOREL
A voir également:
Faire contenir un fichier pdf ouvert à partir d'un TreeView dans un panel
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 16 mars 2011 à 11:16
Salut,
1) pour afficher ton PDF dans ton application il te faut un contrôle PDF viewer (je sais pas bien où tu peux trouver ça, mais ça doit pas être trop dur avec l'ami google).
2) Pour différencier un TreeNode "Dossier" d'un TreeNode "Fichier" tu as 2 possibilités :
- tu regardes la valeurs de l'attribut où tu enregistres le nom complet du dossier/fichier, en vérifiant qu'il termine par un "/" (c'est donc un répertoire).
- lorsque tu montes ton TreeView, pour chaque noeud, tu inscrits dans la propriété Tag(*)
du TreeNode une valeur qui indique s'il s'agit d'un fichier ou d'un dossier, puis tu testes là-dessus.
(*)
: l'attribut Tag sert à associer n'importe quelle info à ton TreeNode, il est de type object.
cs_jopop
Messages postés1540Date d'inscriptionlundi 26 mai 2003StatutMembreDernière intervention 1 août 201312 17 mars 2011 à 09:51
Alors attention, il est tout à fait possible de tomber sur des fichiers sans extension. De la même manière il est possible de trouver des répertoires avec un semblant d'extension (un nom qui contient des points, s'entend)