c# – Winforms:创建动态时间轴控件

我需要创建一个winforms控件,看起来像这样:

目前我正在考虑拍摄一个图片框/面板并覆盖onpaint事件并自己绘制所有内容.但不知何故,这种方法似乎并不合适.

我想知道可能有更简单的出路或者更好的解决方案吗?
你会如何制作这样的控件?

解决方法:

不,这是正确的方法.尝试使用类似TableLayoutPanel的东西不仅令人痛苦,而且还会吸收严重的泥浆,需要花费一秒钟或更长时间来绘制自己.它需要一堆代码,但它不是硬代码.还有大量的循环机会.

使用面板的AutoScrollMinSize获取滚动视图.使用Graphics.TranslateTransform()在Paint事件或OnPaint覆盖中传递AutoScrollPosition.建议使用后者,从Panel派生自己的控件以保持代码分离.你在这里有很多灵活性来定制外观,玩得开心.

上一篇:c# – 有效地“覆盖”Control.Enabled


下一篇:进行无闪烁动画C#自定义控件的最佳方法是什么?