MindFusion.Diagramming for WinForms常见问题集锦(五):从后台线程更新图表

MindFusion.Diagramming for WinForms是一款能够帮助你轻松创建流程图和示意图的.NET控件,可以自定义设计样式和图表框颜色。本文整理了用户常见从后台线程更新图表的问题,以及其他问题,希望对您有所帮助。

MindFusion.Diagramming for WinForms是一个能帮助你创建工作流和进程图表的.NET控件;数据库实体关系图表;组织图表;对象层次和关系图表;图表和树。它是基于对象-图表框,表格和箭头类型,将其归类分派给其他并结合成复杂的结构。该控件提供超过预先定义的50多种图表框,如自定义设计样式和对图表框着色等。

MindFusion.Diagramming for WinForms最新试用版

问:是否可以在单独的线程中更新Diagram对象有一个操作,在用户操作上添加/删除/更新多个节点,并希望将这些操作推送到单独的线程以改善用户体验。

答:如果图形布局类占用了大部分时间,请尝试使用他们的ArrangeAsync方法。Diagram类绝对不是线程安全的,但如果通过设置Behavior = DoNothing来禁用DiagramView上的修改,它可能足够安全,可以从线程中添加项目。如果它工作,请告诉我们否则使用屏幕外副本并在线程结束时将其分配给DiagramView应该足够安全我猜。

设置行为可能仍然是不安全的,因为工作线程可以尝试修改Diagram.Items,同时通过在UI线程中绘制代码进行迭代,并且.NET会为此抛出异常。你可以通过重写DiagramView.OnPaint并在调用base之前与worker线程同步来解决它。

问:在DiagramView中选择节点时,节点的所有链接都显示在节点的顶部(所选节点和链接另一端的节点)。由于我的锚点在中间,这隐藏了节点的文本。我尝试为所有链接设置ZBottom,但没有成功。

答:该图表的目的是为了更好地显示与活动节点的连接。链接与节点边界对齐通常不会有问题,但我可以看到,如果连接到节点中心,它看起来不太好。设置SelectionOnTop = false应该防止这种情况。

问答持续更新中>>>

MindFusion.Diagramming for WinForms现已加入在线订购,点击此处查看价格~

想要购买MindFusion.Diagramming for WinForms正版授权的朋友欢迎咨询在线客服哦~

850×100.png

标签:

来源:慧都网

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年8月3日
下一篇 2019年8月3日

相关推荐

发表回复

登录后才能评论