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
現在,如果我點擊藍色,我將得到所選的節點名稱藍色。 selectedNode.Name
將藍
如果我點擊日將在selectedNode.Name
日獲得 但我想要做的是,如果我點擊日的selectedNode
是 藍\日或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文件,然後,因爲我需要的完整路徑名藍\日\ 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不工作是不是完整的路徑。
題外話,但使用'AfterSelect'事件,而不是'MouseClick'。 –