private void treeView1_MouseClick(object sender, MouseEventArgs e)
{
// Get the node that was clicked
TreeNode selectedNode = treeView1.HitTest(e.Location).Node;
if (selectedNode != null)
{
}
}
Jika saya memiliki misalnya simpul root:
World
Ketika saya mengkliknya, saya melihat node ini:
World
|____ Blue
|____ Green
|____ Red
|____ Black
|____ yellow
Jika saya mengklik Biru saya akan melihat lebih banyak node di bawah Biru misalnya
World
|____ Blue
| |____ Day
| |____ Night
|____ Green
|____ Red
|____ Black
|____ yellow
Sekarang jika saya mengklik Biru saya akan mendapatkan nama node yang dipilih Biru. selectedNode.Name
akan menjadi Biru
Dan jika saya mengklik Hari akan masuk selectedNode.Name
Hari Namun yang ingin saya lakukan adalah jika saya mengklik Hari selectedNode
menjadi Blue\Day atau BlueDay
Dan jika di bawah Hari ada nama node lain 1 dan saya klik 1 maka di selectedNode.Name saya ingin untuk melihat BlueDay1 atau saya lebih suka Blue\Day\1
Saya ingin \\
ini agar saya dapat menggunakannya sebagai nama direktori. Masalahnya adalah saya menggunakan selectedNode.Name
sebagai direktori untuk mendapatkan file:
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;
}
}
Jika saya mengklik Biru maka tidak apa-apa semua file di bawah Biru termasuk sub direktori. Tetapi jika saya mengklik 1 dan ada file di 1 maka tidak akan ada file apa pun karena saya memerlukan nama path lengkap Blue\Day\1 untuk mendapatkan file dari 1.
Beginilah cara saya mendapatkan filenya
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;
}
Idenya adalah jika saya ingin mendapatkan semua file di bawah Biru saya klik Biru tetapi jika saya hanya ingin mendapatkan file di 1 ketika saya mengklik 1 itu tidak berfungsi karena 1 bukanlah jalur yang lengkap.
AfterSelect
, bukanMouseClick
. - person Reza Aghaei   schedule 03.02.2017