没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:杨鹏连|2021-04-02 10:23:25.067|阅读 190 次
概述:本文主要介绍了高性能图表控件LightningChart 中标记+ Mouse_Up事件问题解答。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
LightningChart.NET完全由GPU加速,并且性能经过优化,可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D,高级3D,Polar,Smith,3D饼/甜甜圈,地理地图和GIS图表以及适用于科学,工程,医学,航空,贸易,能源和其他领域的体绘制功能。
LightningChart.NET现已加入在线订购,SignalTools , 12 months, WPF版本原价4105元,现价只需3499元,现在抢购立享优惠!立即购买>>
问:我正在使用ChartEventMarker。我将事件附加到它上,例如“ PositionChanged,MouseClick”。两者都可以。但是,根本不会触发MouseUp事件。我应该什么时候触发该事件?为什么不触发?
private void CreateChart() { //禁用渲染,强烈建议在更新图表属性之前。 Chart.BeginUpdate(); Chart.Name =“ PointLineSeries图表”; //配置x轴。 AxisX axisX = Chart.ViewXY.XAxes [0]; axisX.SetRange(0,20); //配置y轴。 Chart.ViewXY.YAxes [0] .SetRange(0,100); PointShapeStyle符号=新的PointShapeStyle( null, Shape.Rectangle, Color.Black, Color.FromArgb(0,Color.Black), Color.White, Color.FromArgb(160,Color.Black), 3, Chart.ViewXY.GetGraphSegmentInfo()。GraphHeight-30, 0, 0, 1, GradientFillPoint.Solid, Direction.None, NULL); //在图表 ChartEventMarker上的标记chartMarker = new ChartEventMarker { XValue = 2, Visible = true }; chartMarker.Label.Text =“标记”; chartMarker.Label.Color = Color.Black; chartMarker.Label.VerticalAlign = AlignmentVertical.Top; chartMarker.BindToXAxis = true; chartMarker.Symbol =符号; chartMarker.Tag = 0; chartMarker.MouseInteraction = true; Chart.ViewXY.ChartEventMarkers.Add(chartMarker); chartMarker.MouseUp + = ChartMarker_MouseUp; chartMarker.PositionChanged + = ChartMarker_PositionChanged; Chart.EndUpdate(); }回复:我们使用ChartEventMarkers测试了事件,但无法重现此问题。至少PositionChanged,MouseClick,MouseDown和MouseUp-事件正常运行。MouseUp -event会在释放鼠标按钮时触发。然后,它检查鼠标是否在组件上方(在本例中为标记)。因此,它可能不会触发的一个原因是鼠标不在标记上方。这很容易检查MoveByMouse -property是否设置为false:在标记上方按下鼠标按钮,将鼠标移开,然后释放按钮。无需移开鼠标即可执行相同的操作。
这是一个示例代码,它使用正常的MouseUp -event添加了一个标记:
ChartEventMarker marker = new ChartEventMarker(); marker.MouseDown += Marker_MouseDown; marker.MouseUp += Marker_MouseUp; _chart.ViewXY.ChartEventMarkers.Add(marker); private void Marker_MouseUp(object sender, MouseEventArgs e) { _chart.Title.Text = "Mouse up"; } private void Marker_MouseDown(object sender, MouseEventArgs e) { _chart.Title.Text = "Mouse down"; }如果您无法触发MouseUp -event,则可以向我们发布代码的一部分,在其中定义标记及其事件,然后我们可以尝试找出导致此问题的原因。
问:但是“ MouseUp”事件仍未触发。我使用的版本是8.2.1.4001(Arction.WinForms.Charting.LightningChartUltimate)
(我在下面的代码行中创建了一个示例项目。)
我的代码:
ChartEventMarker marker = new ChartEventMarker(); marker.MouseDown + = Marker_MouseDown; marker.MouseUp + = ChartMarker_MouseUp; marker.PositionChanged + = ChartMarker_PositionChanged; Chart.ViewXY.ChartEventMarkers.Add(marker); private void ChartMarker_PositionChanged(对象发送者,PositionChangedChartEventMarkerEventArgs e) { Chart.Title.Text =“位置已更改”; } private void Marker_MouseDown(object sender,MouseEventArgs e) { Chart.Title.Text =“鼠标向下”; } private void ChartMarker_MouseUp(object sender,MouseEventArgs e) { Chart.Title.Text =“鼠标向上”; }永远不会出现在“ ChartMarker_MouseUp”上。您使用的是同一版本吗?
回复:我再次检查了一下,发现您的代码中没有任何错误,是LightningChart版本导致了此错误。在某些8.2版本中,MouseUp -event被某些组件(例如注释和事件标记)所困扰。此问题在更高版本的LightningChart中已修复,这解释了为什么它在我的测试中有效。
因此,我看到使事件在您的应用程序中起作用的两个可能选项:
1.将LightningChart更新为最新版本。
2.如果以上都不是选项,则必须使用解决方法。一种方法是将MouseUp -event用于图表组件,这似乎可以正常工作。只要图表具有焦点,只要释放鼠标按钮,它就会触发。例如,您可以使用布尔变量使它与标记的MouseDown -event一起使用。这是一个例子:
private bool markerClicked = false; ChartEventMarker marker = new ChartEventMarker(); marker.MouseDown += Marker_MouseDown; _chart.ViewXY.ChartEventMarkers.Add(marker); _chart.MouseUp += _chart_MouseUp; private void Marker_MouseDown(object sender, MouseEventArgs e) { markerClicked = true; } private void _chart_MouseUp(object sender, MouseEventArgs e) { if (markerClicked) { markerClicked = false; // Something happens } }在此示例中,仅当首先单击标记时,才会执行MouseUp -event中发生的任何事情。需要注意的一件事是,在这种情况下,释放按钮时鼠标光标可以位于任何位置(不必位于标记上方)。
如果对此有任何疑问,请以获取更多信息。
想要购买LightningChart正版授权,或了解更多产品信息请点击
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
文章转载自:FastReport .NET 的主要功能之一是能够将多份报告合并为一份。当您需要合并来自不同来源的数据或以更方便的格式呈现信息时,此功能非常有用。在本文中,我们将讨论如何在 FastReport .NET 中将多份报告合并为一份。
本文将手把手教你如何用VMProtect对这一关键函数进行虚拟化保护,大幅提升代码安全性,让逆向工程攻击者无从下手!
在 PDF 文档中添加页眉和页脚有助于保持一致的版式和专业的外观。本文将介绍如何使用 Spire.PDF for Java,通过 Java 在现有的 PDF 文档中添加页眉和页脚,并提供详细的步骤和代码示例。
对于开发人员来说,由于自动化和定制化,通常首选使用编程方法来去除 PDF 中的水印。Aspose.PDF 提供可靠且可定制的解决方案,可无缝集成到各种应用程序中,确保准确性并保持文档完整性。
高性能WPF和Winforms图表,可以实时可视化多达1万亿个数据点。
LightningChart JS高性能的JavaScript图表库,专注于实时数据可视化。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@wqylolg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢