Windows窗体中等效的画布

时间:2013-08-08 04:36:33

标签: c# wpf winforms canvas panel

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

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

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:0)

如果要创建一个Paint-like画布,可以在其中绘制简单的图形和图像,则可以使用Graphics的实例,如下所示:

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

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