【发布时间】:2014-12-19 15:52:17
【问题描述】:
我目前正在编写一个程序,我需要在其中绘制一些图表。我需要在这些图中有一些特定的布局。例如,我有用户定义的天数的三个阶段。例如30天的开始阶段、40天的中间阶段和20天的结束阶段。这些阶段我希望在图表中拥有所有不同的背景颜色。我通过绘制图片框并将它们的宽度调整到舞台长度来做到这一点。此外,对于总长度中的每一天,我都想画一条垂直线,而对于图中的水平线数量,我取 y = f(x) 的最大值。
y = f(x) 需要绘制在图表上。因为我在背景上使用了许多图片框,所以我不能使用 graphics.DrawLine,因为它将在图片框后面绘制。所以我决定用一组图片框来制作这条线;)它工作得很好,但显然现在加载程序需要很多时间。
是否有另一种方法可以使用需要较少计算机操作的控件数组来绘制此图?还是我应该完全停止使用数组?
(我想在这里发布我的照片,但我还没有十个声望,因为我是一个菜鸟:()
稍后我将在此图表中添加更多行,但由于我发现我的程序已经变慢了,所以我停止编写其他行并前往无所不知的论坛!
任何帮助将不胜感激!
问候, 阿瑞
【问题讨论】:
-
因为我在背景上使用了很多图片框,所以我不能使用 graphics.DrawLine,因为它会被绘制在图片框的后面 这没有任何意义。您可以轻松地在 PictureBoxes 上绘图!实际上你甚至不需要它们中的三个,只需绘制 3 个填充矩形!无论是Pictureboxes还是Panels,你确实需要在控件的Paint事件中学习Graphics和绘图。 !!并且不要像看起来那样在表格上画画!
标签: c# arrays graph picturebox