Increase bar chart values with button clicks
我正在尝试创建一个图表,以显示锻炼的进度。每单击五个按钮,应将一个勾号添加到图形中。这是外观的一个示例。
出于演示目的,我使用按钮式单击,在生产中,单击是车轮每旋转20圈。
1 2 3 4 5 6
| private int counter = 0;
private void button1_Click(object sender, EventArgs e)
{
counter++;
// code will go here
} |
预先感谢
- 因此,您正在寻找//code will go here吗? ;)您是否成功建立起了图表?这是ASP.NET中的一个示例,用于获取想法
-
是的,或者关于它应该如何工作的任何想法,教程等。谢谢
-
不,我正在尝试考虑最好使用什么。我可以使用.net图表,也可以制作自定义图表。
-
您也可以在winform中使用shapes,并使用paint方法绘制所需的形状。另一篇可以帮助您使用C#绘制图表的文章。您可以继续使用MS Charts,但是paint()似乎要容易得多。
-
您提供的示例很好,但是我需要帮助使图表每五次单击添加一个刻度。谢谢
-
为什么将asp.net和winforms作为标签?
-
因为它正在winforms应用程序中进行。
-
@ user973671可以在您的按钮单击事件中完成每5个滴答作1验证。例如counter/5 = 1,您可以调用paint方法从较早的位置绘制一个正方形到新的位置。记录下一次使用的位置。
-
@ user973671"因为它将在winforms应用程序中运行" OK,我删除了asp.net标记。
-
在担心添加刻度线之前,您应该首先拥有一个图表(无论是自定义控件还是标准控件)。
您可以使用Bitmap Buffer或panel进行绘图。这是一个先机:只是一个示例。
参考。
此解决方案基于WinForms
- @ user973671请尝试一下此代码。它像在通常的条形图中那样,将Bottm to Top中的每个正方形块添加进来:)而不是从上到下...如果您还有其他问题,很高兴解释代码。
-
这很完美,正是我所需要的,感谢您的帮助。有很多好的答案,但我将其标为最完整,谢谢
-
@ user973671很高兴您能成功使用它:)请提供任何进一步的注释来改进代码,或者如果您还有其他问题。
n
-
你怎么打电话给OnPaint();添加新的滴答声?谢谢
-
属性设置器中的Invalidate()。
-
很棒的代码,但我仍在尝试使其正常工作,单击事件的外观如何,谢谢您的帮助。
-
clickGraph1.SquareCount++; // increments the amount of squares in the graph
-
我补充说,但是OnPaint(PaintEventArgs e)似乎没有触发,我缺少什么吗?
-
我不知道你是否想念一些东西。我提供的类可以作为WinForms应用程序中的自定义控件使用。您可以使用当前拥有的内容来更新您的OP。
n