日期:2014-05-19  浏览次数:21252 次

(WinForm)怎样判断单击TreeView节点时是否是点中了checkbox(TreeView::CheckBoxs=true)?
TreeView::CheckBoxes   =   true;
在单击节点时怎么判断是点中了checkbox还是没有点中啊?
高手帮忙啊

------解决方案--------------------
判断鼠标点击的位置。不过我没显示checkbox
selectedNode=treView.GetNodeAt(e.X,e.Y);

if(selectedNode!=null)
{
if(e.Button == MouseButtons.Left)
{
Rectangle rec = new Rectangle(selectedNode.Bounds.Left+16,selectedNode.Bounds.Top,selectedNode.Bounds.Width-16,selectedNode.Bounds.Height);
if (rec.Contains(e.X,e.Y))
{
mouseMoveNode=selectedNode;
isMoveNode = true;
}

------解决方案--------------------
你可以通过TreeNode的Bounds来得到节点的区域,然后用当前的鼠标位置看下是否在这个Bounds中.

可以用Rectangle.Contains(Point)来判读.