关于Winform Tree,如何将鼠标移到文本时显示Hand,移出时还原?
private void tree_NodeMouseHover(object sender, TreeNodeMouseHoverEventArgs e)
{
tree.Cursor = Cursors.Hand;
}
private void tree_MouseMove(object sender, MouseEventArgs e)
{
TreeNode tn = this.tree.GetNodeAt(e.X, e.Y);
if (tn == null)
{
Cursor = Cursors.Default;
}
}
代码如上,我想当鼠标离开文本的时候,鼠标还原,而上述的程序在鼠标离开文本的时候并且hover在与文本水平的位置上时,鼠标也是手状的,而我只是想鼠标hover到文本时,才显示手状。
大家可以看看Windows OS Explorer的效果。
请问如何修改上面的代码啊?谢谢~~
[解决办法]
private void treeView1_MouseLeave(object sender, EventArgs e){ Cursor.Current = Cursors.Default;}private void treeView1_MouseMove(object sender, MouseEventArgs e){ TreeNode node = this.treeView1.GetNodeAt(e.Location); if (node == null) { Cursor.Current = Cursors.Default; return; } Cursor.Current = e.X < node.Bounds.Left || e.X > node.Bounds.Right ? Cursors.Default : Cursors.Hand;}