提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:莫成敏|2019-10-29 10:35:19.873|阅读 246 次
概述:VARCHART XGantt是用于工业4.0项目管理、交互式的甘特图绝佳解决方案,世界级甘特图大师。本文描述在启用实时更新的拖放交互过程中,接收和处理有关对象的信息将非常有用,这是后面半部分内容哦~
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
VARCHART XGantt是一个交互式的甘特图控件,其模块化的设计让您可以创建满足您和您的客户所需求的应用程序。(我们领先的甘特图控件VARCHART XGantt可用于.NET,ActiveX和ASP.NET应用程序。)除此之外,同时还具有一个稳定可靠的甘特图工具,在编写第一行代码之前,您就可以知道是否可以满足客户的需求。
在启用实时更新的拖放交互过程中,接收和处理有关对象的信息将非常有用。本文介绍该教程的后面一部分内容,内容紧接前文哦~
交互事件
如前面所述,现在在交互过程中和交互结束时引发对象事件。事件处理程序的签名,例如这里的VcNodeModifying事件的值没有变化。但是如何识别事件是在交互过程中还是在交互结束时引发的?
这可能很重要,因为例如,并非将鼠标移动引起的每一个修改都存储到数据库中:这将导致过多的耗时工作。当然,仅应在操作完成后存储数据。
现在,可以通过伴随并描述交互的一些新事件来解决此问题,并且可以在交互过程中的对象事件中对其进行评估。
按下鼠标左键后,VcInteractionStarted事件将传递有关鼠标键所在的对象(对象和对象类型)以及该对象发生了什么的信息。交互所需的一切都可以准备好。
提示:还可以在此处切换特定于对象和上下文的更新行为。在极端情况下,一个节点可能会完全动态地做出反应,而另一个节点会带有蓝色的幻影帧。此外,相应的设置(InInteractionEventsEnabled)允许有关是否在交互过程中也要发生对象事件的单独决定。
示例:节点
buy
对象:NodeObject
类型:vcObjTypeNodeInDiagram
OperationMode:vcIIMMoveNode
按下鼠标左键时,VcInteractionStarted事件显示图表中节点的移动已经开始。
应该伴随交互的信息或元素可以在此处初始化。
创建对象
在某些互动中,最初没有可用的对象,例如创建节点或框时。在这种情况下,事件VcInteractionObjectChanged会在内部创建对象后立即发生,这是涉及节点的实际图表节点。
该动作的结束由VcInteractionEnded事件指示。在交互过程中使用的所有其他元素都可以在此处删除。
使用交互事件创建新对象时,过程如下:
VcInteractionStarted
VcInteractionObjectChanged
修改/修改的事件,显示创建元素时的修改
创建和创建事件
VcInteractionEnded。
互动期间激活了非交互事件
如果在交互过程中也启用了交互事件(vcGantt.InInteractionEventsEnabled = true),则释放鼠标键时将有一个附加事件,指示这些事件的结束:VcInInteractionEventsEnded。
这使得将交互过程中引发的对象事件与交互结束时引发的对象事件区分开来变得容易。如果引发此事件,则下一个对象事件将是结束事件。
可能的情况
换句话说,使用交互事件时有两种可能的情况。
控制与以下对象的交互:
非交互事件已关闭
非交互事件已打开
停用非交互事件时与所涉及对象的事件进行协作
屏幕截图显示了在关闭非交互事件(vcGantt.InInteractionEventsEnabled = false)时,Interaction(黄色闪电)和对象事件(赭色和绿色闪电)如何协作:
交互开始,由InteractionStarted事件指示。
释放鼠标键时,对象事件首先出现,例如VcNodeModifying和VcNodeModified带有节点。换句话说,这是关于对象事件的旧行为,因此,如果不使用InInteraction事件,则无需修改对象事件中的现有代码。
交互的结束由VcInteractionEnded事件指示。
与相关对象的事件合作,而InInteraction事件已激活
如果使用了InInteraction事件,则会出现以下事件:
VcInteractionStarted在按下鼠标左键时开始
鼠标移动时的Modifying和Modified事件
VcInInteractionEventsEnded,然后释放鼠标左键时完成对象事件
VcInteractionEnded指示交互结束。
示例:移动节点:
当鼠标光标位于某个节点上时,如果按下鼠标左键,则交互开始。出现事件VcInteractionStarted。
移动鼠标时出现的事件表示实际节点的状态(VcNodeModifying),而在更新时(VcNodeModified1>)图表节点。
释放鼠标键时,将出现VcInInteractionEventsEnded事件
对象事件VcNodeModifying和VcNodeModified指示交互结束时图表节点的状态。
最后出现的是VcInteractionEnded事件。
示例:设置节点更新行为“鼠标移动”时对象事件的行为
由于VcNodeModifying事件允许修改EventReturnstatus(e.ReturnStatus),因此现在也可以在交互过程中完成此操作。
因此,如果e.ReturnStatus = ReturnStatusFalse指示所提供的数据不是“有效的”,则图表中的对象将不会随着下一次可能的更新而刷新,并且不会引发相应的VcNodeModified事件。
通过将对象保留在其旧位置并通过幻像指示当前位置,可以看到该图像。
通过实物可视化的对象(当前仅节点和节点框)的状态指示如下:
当前位置通过变亮的实部来可视化,事件中仍会提供其值。
最后一个有效状态,即最后一个未将ReturnStatusFalse返回为e.ReturnStatus的状态,由另一个实数表示,表示那里“被卡住了”。这样,两条信息都可以可视化。
在该节点上,最后一个有效状态的值(即被卡住的实数)与VcNodeModifying-Event中的e.OldNode对应。如果VcInInteractionEventsEnded之前的最后一个VcNodeModifying事件以ReturnStatusFalse完成,则将提供最后一个有效状态在结束事件中。
可以决定是否接受此状态。如果在结束事件中设置ReturnStatusFalse,则将恢复原始的开始状态。
实用技巧:我们建议创建一个“Interactioning InteractionInfo”对象,该对象提供有关事件中交互的所需信息,并可以进行相应的评估。
本教程内容到这里就结束了,感兴趣的朋友可以继续关注我们哦,我们会不断更新更多内容~您也可以点击下载VARCHART XGantt试用版进行评估~
相关内容推荐:
VARCHART XGantt用户手册(ActiveX版):如何操作互动事件(上)
想要购买VARCHART XGantt正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢