private void treeView1_MouseClick(object sender, MouseEventArgs e)
{
// Get the node that was clicked
TreeNode selectedNode = treeView1.HitTest(e.Location).Node;
if (selectedNode != null)
{
}
}
Если у меня есть, например, корневой узел:Как я могу получить дочерний выбранный TreeView дочерний узел, но также и вышеупомянутые узлы?
World
Когда я нажимаю на него, я вижу эти узлы:
World
|____ Blue
|____ Green
|____ Red
|____ Black
|____ yellow
Если я нажимаю на Синей Я буду видеть больше узлов под Синий например
World
|____ Blue
| |____ Day
| |____ Night
|____ Green
|____ Red
|____ Black
|____ yellow
Теперь, если я нажму на Blue, я получу выбранное имя узла Blue. selectedNode.Name
будет Синего
И если я нажимаю на день получит в selectedNode.Name
день Но то, что я хочу сделать, что если я нажимаю на деньselectedNode
быть Синего \ Day или BlueDay
И если под день есть другое имя узла и я нажимаю на так в selectedNode.Name Я хочу видеть BlueDay1 или я предпочитаю Синий \ день \ 1
Я хочу это \\
так что я могу использовать его в качестве каталога имя. Проблема в том, я использую selectedNode.Name
как каталог, чтобы получить файлы:
List<string> ff = new List<string>();
private void treeView1_MouseClick(object sender, MouseEventArgs e)
{
TreeNode selectedNode = treeView1.HitTest(e.Location).Node;
if (selectedNode != null)
{
string tt = mainPath + "\\" + selectedNode.Text;
ff = DirSearch(tt);
timer1.Enabled = true;
}
}
Если я нажимаю на синий, то это нормально, он получит все файлы в синий, включая подкаталоги. Но если я нажму на 1 и будут файлы в 1, то он не получит никаких файлов, так как мне нужно полное имя пути Blue \ Day \ 1, чтобы получить файлы с 1.
Вот как я получение файлов
static List<string> DirSearch(string sDir)
{
List<string> files = new List<string>();
try
{
foreach (string d in Directory.GetDirectories(sDir))
{
foreach (string f in Directory.GetFiles(d))
{
files.Add(f);
}
DirSearch(d);
}
}
catch (System.Exception excpt)
{
Console.WriteLine(excpt.Message);
}
return files;
}
идея заключается в том, если я хочу, чтобы получить все файлы под синим я нажимаю на синий, но если я хочу, чтобы получить только файлы в 1, когда я нажимаю на 1 он не работает с 1 не является полный путь.
Off темы, но использовать 'AfterSelect' событие вместо' MouseClick'. –