TreeNode tn = treeView.GetNodeAt(args.X, args.Y);
if (tn != null)
{
    if (tn.Tag != null 
        && (tn.Tag is MyClass))
    {
        treeView.SelectedNode = tn;
        treeView.DoDragDrop(tn.Tag as MyClass, DragDropEffects.Copy);
    }
}  
上面的代码,红色部分是后加的,没有加之前,一些子节点在鼠标单击时不能被选中,原因不明。