在Windows窗体中等效的canvas

我正在创建一个简单的应用程序,以显示多个图像一个接一个。 在WPF中,我使用了相当于图像数量的canvas数量,并将这些canvas添加到主canvas中。 在每个canvas中使用Image控件,我和我一起上传了图像,看起来很不错。

现在,我试图在Windows窗体中执行相同的操作。 我尝试使用Panel(作为WPF中的主canvas)并使用Panel_Paint事件在其上绘制图像。 没事。 但是我需要添加一些内容(因为我在WPF中添加了多个canvas),但是没有任何攻击。 我计划了几个小组,但他们都需要Panel_Paint来绘制图像。这是一些难以维护的……还有其他想法吗?

您可以创建自己的自定义控件并覆盖OnPaint方法。 在那里,你将能够像Canvas一样在模式中绘制任何你喜欢的东西。 创建元素指定其坐标,使用Graphics对象绘制它。 对于重叠使用线性绘图顺序,稍后绘制的项目将是最顶层的。

如果要创建类似Paint的canvas,可以在其中绘制简单的图形和图像,可以使用Graphics的实例,如下所示:

 // myPictureBox is the control where your graphics will be drawn Graphics myCanvas = myPictureBox.CreateGraphics(); 

如果要显示一组图像(如.jpg显示在文件资源管理器中,则可以使用ListView