我需要创建一个winforms控件,看起来像这样:
目前我正在考虑拍摄一个图片框/面板并覆盖onpaint事件并自己绘制所有内容.但不知何故,这种方法似乎并不合适.
我想知道可能有更简单的出路或者更好的解决方案吗?
你会如何制作这样的控件?
解决方法:
不,这是正确的方法.尝试使用类似TableLayoutPanel的东西不仅令人痛苦,而且还会吸收严重的泥浆,需要花费一秒钟或更长时间来绘制自己.它需要一堆代码,但它不是硬代码.还有大量的循环机会.
使用面板的AutoScrollMinSize获取滚动视图.使用Graphics.TranslateTransform()在Paint事件或OnPaint覆盖中传递AutoScrollPosition.建议使用后者,从Panel派生自己的控件以保持代码分离.你在这里有很多灵活性来定制外观,玩得开心.