У меня есть TreeView и узлы на нем. Я хочу прокрутить событие MouseMove. Я сделал это для панели несколько недель назад, но на панели есть свойство AutoScrollPosition, чтобы сделать это проще. Как я могу сделать с TreeView, у которого нет свойства AutoscrollPosition?
Я пробовал это:
private void TreeViewFilters_MouseMove(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
{
return;
}
if ((startPoint.X == treeViewFilters.PointToClient(MousePosition).X) && (startPoint.Y == treeViewFilters.PointToClient(MousePosition).Y))
{
return;
}
Point currAutoS = treeViewFilters.AutoScrollPosition; //Problem here
if (startPoint.Y > treeViewFilters.PointToClient(MousePosition).Y)
{
if (startPoint.Y != 0)
{
currAutoS.Y = (Math.Abs(currAutoS.Y) + 15);
}
}
else if (startPoint.Y < treeViewFilters.PointToClient(MousePosition).Y)
{
currAutoS.Y = (Math.Abs(currAutoS.Y) - 15);
}
else
{
currAutoS.Y = Math.Abs(currAutoS.Y);
}
if (startPoint.X > treeViewFilters.PointToClient(MousePosition).X)
{
if (currAutoS.X != 0)
{
currAutoS.X = (Math.Abs(currAutoS.X) + 15);
}
}
else if (startPoint.X < treeViewFilters.PointToClient(MousePosition).X)
{
currAutoS.X = (Math.Abs(currAutoS.X) - 15);
}
else
{
currAutoS.X = Math.Abs(currAutoS.X);
}
currAutoS = treeViewFilters.AutoScrollPosition; //and here
startPoint = treeViewFilters.PointToClient(MousePosition);
}
Пожалуйста, кто-то может мне помочь?