如何创建时间轴控件?

Mar*_*ijn 6 c# winforms

我想创建(或下载,但我找不到任何)时间轴控件.我的想法是这样的:

截图

在这张图片中,我只对时间表感兴趣,左边的资源和水平的时间.

有谁能告诉我开发这种控制的好方法是什么?我已经尝试了tablelayout控件,但我现在卡住了,因为我无法计划需要2分钟的事情.由于性能的原因,我也不想为每一分钟绘制一个列,它看起来太忙了.

Mah*_*nGM 3

Telerik 和 DevExpress 在这些方面都很出色,但由于它们不是免费的,因此对于我们穷人来说使用它们应该很困难:)。

我可以将此项目称为原型,因为它需要大量工作才能安装在您想要的位置。 http://www.4shared.com/zip/cGKq8yLt/Timeline.html

如果我加入堆栈,任何问题都会得到解答。

编辑

对于滚动,最好不要使用滚动控件,因为它会使工作变得更加困难。添加两个按钮,一个用于移至 1 小时前,另一个用于移至下一个 1 小时。您可以更改因子 1 以大步移动。然后,如果PaintDraw items应该计算当前可见时间的视口是多少。可能有点难。

更新

我看到来这里的人比我预期的要多,而且由于我从这里删除了以前的源代码,今天我编写了一个更好的时间线控件以供其他人下载。您可以从上面的链接获取它,我已经更新了它。这个新版本的好处是你可以给出这样的时间:9:15 或 10:48。但是,由于网格在几个小时和半小时内就会被打破,因此它会超出线路。

这是来自来源的图像:

在此输入图像描述