Делаю программу, в которой treeView выводит список файлов согласно условию.
Файлы формата .rtf.
Как сделать, чтобы при нажатии на файл, он открывался в Richtextbox?
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication6
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DirectoryInfo dir = new DirectoryInfo("D://В машиностроении");
foreach (FileInfo files in dir.GetFiles())
{
treeView1.Nodes.Add(files.Name);
}
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
}
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
}
}
}
Получится не очень быстро, но как способ реализации может подойти.
public partial class Form1 : Form
{
string Temppath { get; set; }
public Form1()
{
InitializeComponent();
treeView1.AfterSelect += TreeView1_AfterSelect;
Temppath = "D://В машиностроении\\";
}
private void TreeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
this.richTextBox1.Text = File.ReadAllText(Path.Combine(Temppath, e.Node.FullPath));
}
private void Form1_Load(object sender, EventArgs e)
{
DirectoryInfo dirInfo = new DirectoryInfo(Temppath);
TreeNode node = new TreeNode();
GetDirectorys(dirInfo, node);
foreach(TreeNode n in node.Nodes)
{
this.treeView1.Nodes.Add(n);
}
}
private void GetDirectorys(DirectoryInfo d, TreeNode node)
{
DirectoryInfo[] dInfo = d.GetDirectories();
if (dInfo == null || dInfo.Length == 0)
{
FileInfo[] fInfo = d.GetFiles();
TreeNode treeNode = new TreeNode();
foreach (FileInfo fDir in fInfo)
{
treeNode = node.Nodes.Add(fDir.Name);
}
}
if (dInfo.Length > 0)
{
TreeNode treeNode = new TreeNode();
foreach (DirectoryInfo driSub in dInfo)
{
treeNode = node.Nodes.Add(driSub.Name);
GetDirectorys(driSub, treeNode);
}
}
}
}
P.S. Могут быть проблемы с кодировкой.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости