Я недавно начал заниматься программированием и работал над созданием своей первой программы.Он предназначен для хранения и создания заметок внутри папки, но у меня проблема с открытием текстовых файлов, которые находятся внутри других папок, кроме первой папки в моем древовидном представлении.Я пытался решить это в течение недели, но не смог найти решение.Что я упустил в своем программировании?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Diagnostics;
using System.Windows.Forms;
namespace InfoHub
{
public partial class InfoHome : Form
{
public InfoHome()
{
InitializeComponent();
}
private void InfoHome_Load(object sender, EventArgs e)
{
//puts info on the top all windows
this.TopMost = true;
}
//this string path makes it possiable for "C:\\Users\\epoch\\Desktop\\InfoHub"
//to be used in button2_Click
string path = "C:\\Users\\epoch\\Desktop\\InfoHub";
private void button1_Click(object sender, EventArgs e)
{
ListDirectory(treeView1, "C:\\Users\\epoch\\Desktop\\InfoHub");
}
// this is the Directory Structure
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;
}
//this button click opens programs
private void button2_Click(object sender, EventArgs e)
{
string TreeNodeName = treeView1.SelectedNode.ToString().Replace("TreeNode: ",string.Empty);
System.Diagnostics.Process.Start(path + "\\" + TreeNodeName);
}
//this opens the notpad
private void button3_Click(object sender, EventArgs e)
{
Process.Start("notepad.exe");
}
private void button4_Click(object sender, EventArgs e)
{
folderCreator newform = new folderCreator();
newform.ShowDialog();
}
private void button5_Click(object sender, EventArgs e)
{
this.Close();
}
}
}