C# treeview拖动经过节点变色

来源:百度知道 编辑:UC知道 时间:2024/06/30 03:23:36
如题。如有回答可行者必有重赏。
pointOld是什么?拖动时并未触发treeView1_MouseMove事件。

在mousemove事件中根据treeView1.GetNodeAt(e.X, e.Y)获取当前经过的节点
private void treeView1_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
TreeNode node = treeView1.GetNodeAt(e.Location);
TreeNode nodeOld = treeView1.GetNodeAt(pointOld);

if (nodeOld != null)
{
nodeOld.BackColor = Color.Transparent;
}
if (node != null)
{
node.BackColor = Color.Blue;
}

pointOld = e.Location;
}
}