Bonjour. Est-il possible de cliquer sur un nœud de TreeView afin qu'il ouvre en lecture/écriture un fichier texte dans un Rich Textbox, et cela dans un même formulaire ? Merci pour vos réponses.
Bonjour. Est-il possible de cliquer sur un nœud de TreeView afin qu'il ouvre en lecture/écriture un fichier texte dans un Rich Textbox, et cela dans un même formulaire ? Merci pour vos réponses.
peux tu donner plus de details !!
Si tu aimes ma Réponse pense à cliquer sur
Visiter mon blogEt mes codes sources
- La simulation de navigation dans internet explorer avec Interop.SHDocVw
- Protéger mes données de configuration dans une dll compilée
Bonjour. Je crée un formulaire sur lequel je mets un treeview à gauche et un rich textbox à droite. Je voudrais savoir si c'est possible de cliquer sur un noeud du treeview pointant sur un fichier texte quelconque afin d'ouvrir ce dernier dans le rich textbox.
Si cela est faisable, est-il possible de m'indiquer la ou les méthodes à employer car je cherche depuis pas mal de temps sur le web et je n'ai rien trouvé pour ce cas précis. Merci.
dans l’événement click tu peux mettre tous ce que tu veux.
exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { textBox1.Text = e.Node.Text; }
Si tu aimes ma Réponse pense à cliquer sur
Visiter mon blogEt mes codes sources
- La simulation de navigation dans internet explorer avec Interop.SHDocVw
- Protéger mes données de configuration dans une dll compilée
Merci, j'ai essayé mais ça ne marche pas
Voici le code :
Une autre suggestion ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90 public partial class Form1 : Form { string vrb1 = "livre1"; string vrb2 = "livre2"; string vrb3 = "livre3"; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { treeView1.Nodes.Add("Livres"); treeView1.Nodes.Add("Documents"); treeView1.Nodes.Add("Dossiers"); treeView1.Nodes[0].Nodes.Add(vrb1); treeView1.Nodes[0].Nodes.Add(vrb2); treeView1.Nodes[0].Nodes.Add(vrb3); treeView1.Nodes[1].Nodes.Add("Document1"); treeView1.Nodes[1].Nodes.Add("Document2"); treeView1.Nodes[1].Nodes.Add("Document3"); treeView1.Nodes[2].Nodes.Add("Dossier1"); treeView1.Nodes[2].Nodes.Add("Dossier2"); treeView1.Nodes[2].Nodes.Add("Dossier3"); } private void button2_Click(object sender, EventArgs e) { SuppChoixNoeux(treeView1.Nodes); } List<TreeNode> choixNoeux = new List<TreeNode>(); void SuppChoixNoeux(TreeNodeCollection chxNoeux) { foreach (TreeNode noeux in chxNoeux) { if (noeux.Checked) { choixNoeux.Add(noeux); } else { SuppChoixNoeux(noeux.Nodes); } } foreach (TreeNode choixN in choixNoeux) { chxNoeux.Remove(choixN); } } string Path = "Dossier_TreeView"; private void button3_Click(object sender, EventArgs e) { ListRepertoire(treeView1, Path); } private void ListRepertoire(TreeView treeView, string path) { treeView.Nodes.Clear(); var admRepertoireInfo = new DirectoryInfo(Path); treeView.Nodes.Add(CreerRepertoireNoeux(admRepertoireInfo)); } private static TreeNode CreerRepertoireNoeux(DirectoryInfo repertoireInfo) { var repertoireNoeux = new TreeNode(repertoireInfo.Name); foreach (var repertoire in repertoireInfo.GetDirectories()) repertoireNoeux.Nodes.Add(CreerRepertoireNoeux(repertoire)); foreach (var fichier in repertoireInfo.GetFiles()) repertoireNoeux.Nodes.Add(new TreeNode(fichier.Name)); return repertoireNoeux; } private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { richTextBox1.Text = e.Node.Text; } }
Il ne fallait pas prendre au mot la réponse d'azstar mais la compléter :
Vu qu'il n'y a que le nom de ton fichier dans le TreeView , il faut que tu définisse ou récupère le dossier parent ou tu iras chercher les différents fichiers, cela fait , cela t'ouvrira les fichiers concernés.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 string dossierRacine = "D:\\Dossier"; private void treeView1_NodeMouseClick_1(object sender, TreeNodeMouseClickEventArgs e) { textBox1.Text = String.Join("",File.ReadAllLines(dossierRacine + "\\" + e.Node.Text)); // il a des tas de façons de lire le fichier , donc si celle la ne te plait pas tu peux facilement la changer }
Voila en espérant que j'ai pu t'aider .
PS : Sinon j'ai trouvé ton premier message assez clair personnellement.
Keep calm and debug it
Countryball - Space Race, mon jeu mobile Google Store - Apple Store
Chaine YouTube sur Unity et le Gamedev en général
PlanQuiz - Mon jeu de Quiz multijoueur participatif
Merci PixelJuice. Je suis encore novice en matière de c# et je n'ai pas encore suffisamment de bagages pour comprendre les indications que l'on me donne. J'ai essayé ta méthode et ça ne marche toujours pas. Est-ce que cela fonctionne de ton coté ?
Mon bout de code :
Je continue de chercher de mon coté mais je suis toujours preneur pour une autre suggestion.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 string dossierRacine = "C:\\Users\\sonic\\Documents\\Dossier_TreeView"; private void treeView1_NodeMouseClick(object sender, TreeNodeMouseClickEventArgs e) { richTextBox1.Text = String.Join("", File.ReadAllLines(dossierRacine + "\\" + e.Node.Text)); }
Bonjour,
oui ça marche de mon coté , je ne mets jamais du code si je ne l'ai pas testé au préalable.
Tu as une erreur ? Qu'est ce qui se passe exactement? Ton code a pourtant l'air bon.
As-tu assigner au TreeView la méthode que l'on t'as donné ?S'il ne se passe rien , c'est fort probable que non.
Si c'est le cas , mets cette ligne dans le constructeur de ta Form (ou est le TreeView) , juste après InitializeComponent();
si ton TreeView s’appelle autrement que treeView1 , change la ligne avec les tes infos a toi.De cette manière , tu abonnes ton TreeView a l'évenement que l'on t'avais proposé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part this.treeView1.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView1_NodeMouseClick_1);
Keep calm and debug it
Countryball - Space Race, mon jeu mobile Google Store - Apple Store
Chaine YouTube sur Unity et le Gamedev en général
PlanQuiz - Mon jeu de Quiz multijoueur participatif
Bonjour. Effectivement, je n'avais pas assigné la méthode au TreeView dans le constructeur. C'est fait et sa marche. Je te remercie encore pour ton aide qui m'a permis d'avancer dans mon apprentissage du c#
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager