我正在构建一个软件来测试我的机器并从中收集数据。我的软件现在可以显示7个信息(4个聊天记录和3个位图)。但是,所有的数据只能如图所示实时观察,当我暂停计时器时,我全部都丢失了。如何以录音方式查看所有这些数据(4个聊天记录和3个位图)?例如,我想有一间酒吧,以检查像电影播放器在过去的数据,如图2所示。用户界面或工具来查看图表数据
回答
我建议您存储历史数据的SQL数据库,设计会是这个样子:
的重要组成部分,是有精心设计的表格与所有的历史价值,通过IndicatorID
&采用复合聚集索引。 SQL Server的实例:
CREATE TABLE [PenData](
[IndicatorID] smallint NOT NULL,
[Time] datetime2(0) NOT NULL,
[Value] real NULL
CONSTRAINT [PK_Data] PRIMARY KEY CLUSTERED
(
[IndicatorID] ASC,
[Time] ASC
))
在MS Charts controls你可以有,可以做放大和缩小图表滚动条:
chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;
chart1.ChartAreas[0].AxisX.ScrollBar.IsPositionedInside = false;
chart1.ChartAreas[0].AxisX.ScrollBar.Enabled = true;
chart1.ChartAreas[0].AxisX.ScrollBar.Size = 20;
chart1.ChartAreas[0].AxisX.ScrollBar.BackColor = Color.LightGray;
因此,您创建一个窗体上的另一个控制,即控制哪些数据从数据库加载到图表(哪一天等) - 就像您的回放控制 - 并且您可以允许用户根据需要进一步缩放加载的数据。在Windows中perfmon
应用程序使用此功能。您还可以放大或缩小代码中的图表,例如按用户指定的时间范围。
如果你想,就好像它们收集播放这些数据,你将需要添加一个计时器,以创建实时数据回放的感觉 - 假设你需要它,因为你需要动画图像,否则最好以交互方式显示它。
因此,您的操作与您实时显示数据的方式相同,但不是从传感器获取数据,而是从数据库中读取数据。
有一个例子这里MS图表:Need help on Problem in using c# .net 4.0 realtime chart in windows form application
真的非常感谢您的帮助。我想我得到你提出的逻辑。但我仍然无法理解如何在软件上的相同位置播放位图和图表。它是否添加了一个可以加载数字数据然后添加回图表和位图功能的播放控件?所以我现在可以有一个类似于回放的工具? –
我明白了,你想用像电影一样的动画来播放它......?正常情况下,用户只需像perfmon一样放大感兴趣的数据。我将添加一个小例子。 –
- 1. 动态用户界面列表查看
- 2. Android用户界面工具
- 3. 图形用户界面的审查工具
- 4. 用户界面看起来不太好
- 5. 用户界面来搜索数据库
- 6. 数据过滤器 - 查看用户界面
- 7. 用户界面图像视图使用滚动查看动画
- 8. 用户界面滚动查看帮助
- 9. 用户界面设计工具
- 10. 假的iOS用户界面工具
- 11. Javascript用户界面工具包
- 12. 用户界面性能监控工具
- 13. 具有良好用户界面的报告/仪表板工具
- 14. 数据库的图形用户界面
- 15. 将用户界面添加到图像查看器插件
- 16. Xamarin.android图形用户界面不更新后添加查看
- 17. 用户界面:可重复不与AP的工作:数据表
- 18. “查看更多表”选项不会在网络用户界面
- 19. 在线图形用户界面设计工具
- 20. 现代图形用户界面编程工具
- 21. C++图形用户界面工具包,支持OpenGL
- 22. 一个免费的图形用户界面工具MSBuild与TFS?
- 23. ETL工具:图形用户界面与框架结构
- 24. 桌面用户界面设计工具,最好是Java或Java包装
- 25. Valgrind Massif工具输出图形界面?
- 26. Matlab - 用Arduino数据绘图的图形用户界面(GUI)
- 27. 好看的图形用户界面的Twitter客户端在Java
- 28. Linux桌面用户界面自动化工具
- 29. 从Xsd构建用户界面的工具包或应用程序
- 30. 用户界面看起来不同iOS 5和iOS 4.3
如何添加类和保存数据到实例化的对象? – Eminem
最快的方法是索引顺序文件,但具有Time和IndicatorId的适当聚簇索引的SQL表将会表现良好。您可以存储多年的历史数据。 –
估计您期望的数据量!决定他们是否应该坚持程序运行!将结果添加到问题! – TaW