Tienda Web
Área de Clientes
MindFusion

P: Cómo hacer drag&drop de un ListView o un control TreeView al control FlowChart?

Aquí está el escenario: El usuario selecciona un nodo de árbol en el control de árbol, y luego arrastra sobre la parte superior del control flowChart. Al arrastrar el control flowChart, el cursor de arrastre se ve como un cuadro de texto. Después de la caída, un cuadro de texto aparecerá en el control flowChart.

R: Puede hacerlo llamando Control.DoDragDrop desde el controlador de eventos TreeView.MouseDown y crear el nodo en el evento DiagramView.DragDrop. Vea el ListView en el proyecto de ejemplo Flowcharter, y en uno de los pasos "varios" del ejemplo FCDemo.

P: ¿Cómo evitar la edición del texto de algunos nodos cuando AllowInplaceEdit está habilitado?

R: Hay un evento de validación Diagram.NodeTextEditing producido cuando el usuario hace doble clic en un nodo. Establezca e.Cancel en true para evitar la edición del texto de algunos nodos.

P: He puesto la propiedad Behavior del objeto DiagramView a DrawLinks, pero cuando arrastro de Nodo a Nodo, sólo seleccione los dos nodos: ningún vínculo se dibuja. ¿Qué ajustes debo comprobar que podrían influir en este comportamiento?

R: Compruebe Diagram.AllowUnanchoredLinks y DiagramNode.AllowOutgoingLinks. Si ha desactivado el primero, se puede dibujar solamente enlaces desde nodos cuyos AnchorPattern estén establecidos.

P: Estoy generando diagramas con imágenes de nodos, y me gustaría que el usuario sea capaz de empezar a mover los nodos con un solo clic. Además, los usuarios no deben ser capaces de crear nuevos elementos, ni cambiar el tamaño de los ya existentes. ¿Debería crear un objeto Behavior personalizado para esto?

R: Esto puede llevarse a cabo mediante el establecimiento de una serie de propiedades:

Usted también podría implementarlo como una clase de comportamiento personalizada, donde usted retorna del método StartDraw 8 es el índice del manejador de ajuste de movimiento, que se utiliza cuando la acción se ajusta a Modify. El índice se tiene en cuenta cuando la acción es Create. Puede asignar una instancia de la clase Behavior derivada de la propiedad DiagramView.CustomBehavior.

P: Estoy buscando el método más sencillo para cambiar dinámicamente los puntos de anclaje de enlace en un nodo para que el ancla esté más cerca del nodo de conexión. No quiero que los enlaces crucen el nodo de origen si la posición de nodo destino cambia.

R: Vea cómo los enlaces trabajan cuando su propiedad Dynamic está habilitada. Hará que los enlaces cambien su origen y puntos de conexción destino mientras se arrastra un nodo.

Copyright © 2001-2024 MindFusion LLC. All rights reserved.
Terms of use - Contactos