简单,在TreeView   OnMouseDown中:   
  var   
      Node                             :   TTreeNode;   
  begin   
      inherited;   
      Node   :=   CheckTreeView1.GetNodeAt(X,   Y);   
      if   Node   =   nil   then   exit;   
      CheckTreeView1.Selected   :=   Node;   
  end;   

解决方案 »

  1.   

    参考这个http://topic.csdn.net/u/20080426/14/41307602-2aad-47f9-b066-f6b4d50b9490.html
      

  2.   

    http://blog.csai.cn/user1/16660/archives/2008/21854.html32    protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
    33    {
    34        SetChildChecked(e.Node);
    35    }
    38    private void SetChildChecked(TreeNode parentNode)
    39    {
    40        foreach (TreeNode node in parentNode.ChildNodes)
    41        {
    42            node.Checked = parentNode.Checked;
    43
    44            if (node.ChildNodes.Count > 0)
    45            {
    46                SetChildChecked(node);
    47            }
    48        }
    49    }