Quantcast
Channel: Windows Forms Data Controls and Databinding forum
Viewing all articles
Browse latest Browse all 2535

How open a file by clicking on it in Treeview

$
0
0

Hi all,

Would someone help me solve problem in my code?

I want to open selected file from treeview. I took part of code from internet and it works but only for root folders and files. I read folder C:\Test. If I want to open files in subfolder I have a error. 

Code:

namespace Open_in_treeview
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        String Path = "C:\\Test";

        private void ListDirectory(TreeView treeView, string path)
        {
            treeView.Nodes.Clear();
            var rootDirectoryInfo = new DirectoryInfo(path);

            treeView.Nodes.Add(CreateDirectoryNode(rootDirectoryInfo));
        }

        private static TreeNode CreateDirectoryNode(DirectoryInfo directoryInfo)
        {
            var directoryNode = new TreeNode(directoryInfo.Name);
            foreach (var directory in directoryInfo.GetDirectories())
                directoryNode.Nodes.Add(CreateDirectoryNode(directory));

            foreach (var file in directoryInfo.GetFiles())
                directoryNode.Nodes.Add(new TreeNode(file.Name));

            return directoryNode;
        }


        private void button1_Click(object sender, EventArgs e)
        {
            String TreeNodeName = treeView1.SelectedNode.ToString().Replace("TreeNode: ", String.Empty);
            System.Diagnostics.Process.Start(Path + "\\" + TreeNodeName);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            ListDirectory(treeView1, Path);
        }
    }
}

___________________________________________________________________________________

I can't find in MSDN what I should change for correct read selected files in "sub" tree nodes.

This is picture from my form.

https://ibb.co/1rYsHnQ

So when I try to open file in subfolder (for example Look me.txt) I have error from VStudio. It doesn't see the way to this file.

What I should add to this code or maybe change something? -> System.Diagnostics.Process.Start(Path + "\\" + TreeNodeName + ????);


Viewing all articles
Browse latest Browse all 2535

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>