Desplazar el árbol con mousemove -- # campo con winforms campo con treeview camp Relacionados El problema

Scroll TreeView with MouseMove


0
vote

problema

Español

Tengo una vista de árbol y nodos en él. Quiero desplazarse con el evento de mouseemove. Hice esto por el panel hace semanas, pero el panel tiene la propiedad de AutoScrollPosition para hacerlo, así que es más fácil. ¿Cómo puedo hacer con una vista de árbol que no tiene la propiedad AutoScrollPosition?

Intenté esto:

          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);      }   

¡Por favor, alguien puede ayudarme?

Original en ingles

I have a TreeView and nodes on it. I want to scroll with the MouseMove Event. I did this for panel weeks ago but panel have the AutoScrollPosition property to do that so it's easier. How can I do with a TreeView that don't have the AutoscrollPosition property ?

I tried this :

        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);      } 

Please someone can help me ?

        
   
   

Lista de respuestas

0
 
vote
vote
La mejor respuesta
 

Encontré una solución y funciona:

                  treeViewFilters.Location = new Point(treeViewFilters.Location.X, -vScrollBarFilters.Value);   
 

I found a solution and it works :

                treeViewFilters.Location = new Point(treeViewFilters.Location.X, -vScrollBarFilters.Value); 
 
 

Relacionados problema

74  Buscar nodo clics en el menú contextual  ( Find node clicked under context menu ) 
¿Cómo puedo averiguar qué nodo en una lista de árboles se ha activado el menú contextual? Por ejemplo, haga clic con el botón derecho en un nodo y seleccionan...

6  Encuentra el nodo de TreeView por valor  ( Find treeview node by value ) 
Todos mis nodos TreeView tienen una identificación única para la profundidad de su nodo. Quiero establecer Checked=True en el nodo de TreeView que coincid...

1  El árbol Flex no selecciona ("Resalte") losIndIndices seleccionados  ( Flex tree does not selecting highlight the selectedindices ) 
Tengo una matriz de artículos que deben seleccionarse en mi control de árbol. Como puede ver en mi código a continuación, vinculo esta matriz a la propiedad d...

12  ¿El nivel de un TreeView en WPF?  ( The level of a treeview in wpf ) 
En una aplicación WinForms , el nivel de un int111 está dado por int2 ¿Cuál es el comando correspondiente en wpf ? ...

2  ¿Evitar que un TreeView dispare eventos en VB6?  ( Prevent a treeview from firing events in vb6 ) 
En algún código VB6, tengo un manejador para un evento de colapso de TreeView: Private Sub MyTree_Collapse(ByVal Node as MSComCtlLib.Node) Esto se llam...

2  TreeView con más de un icono  ( Treeview with more than one icon ) 
Me gustaría poner más de un icono en un TreeView (WinForms, .NET 3.5). He echado un vistazo a este proyecto CodeProject ( http://www.codeproject.com/ KB / Tre...

1  C #: Trato con XML, TreeView DataGridView y DataTables  ( C deal with xml treeview datagridview and datatables ) 
Estoy trabajando en un proyecto que extrae datos de un archivo XML y también usa una combinación de árboles de árbol para mostrar los datos. Por ejemplo, depe...

1  Uso de imágenes de línea personalizadas en ASP.NET TreeView Control  ( Using customized line images in asp net treeview control ) 
Cuando uso mis imágenes de línea propia para personalizar el aspecto del control de TreeView, parece haber un problema de representación en la fila de la tabl...

6  ¿Cómo resalto un elemento seleccionado de TreeView con algún color?  ( How do i highlight a treeview selected item with some color ) 
Tengo una vista de árbol en WPF. Quiero un color diferente cuando selecciono el TreeViewItem. ...

0  ¿Hay alguna manera de mostrar solo los nodos de los padres en un árbol de extjs?  ( Is there a way to only show parent nodes in a extjs tree ) 
Quiero mostrar solo los nodos de los padres de un árbol en EXTJS. En mi Datastore también hay nodos de hoja. la salida debe ser como - Carpeta 1 Carpet...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos