应该在加载时就填充treeview,如果在afterselect事件中填充treeview,就会每次触发这个事件就填充一次。
有一个办法是在
for(int i=0;i<dt1.Rows.Count;i++)
{
TreeNode tempnd=new TreeNode();
tempnd.Tag=dt1.Rows[i][0].ToString();//找回自己的Tag
tempnd.Text=dt1.Rows[i][2].ToString();//找回自己的目录名
treeView1.SelectedNode.Nodes.Add(tempnd);
}
之前加上treeView1.Nodes.Clear();
清除掉所有节点之后重新填充。