直接在表格上绘制图片框

时间:2013-10-04 16:50:22

标签: c# winforms gdi+

我正在用c#创建一个轻量级的GDI +游戏引擎。在创建游戏引擎时,我阅读了一些使用图片框控件作为图形表面的书籍。然而,在网上进行一些研究之后,似乎使用图片框控制不是我应该做的。这是真的,如果是这样,为什么?

1 个答案:

答案 0 :(得分:1)

您无需任何控制,只需直接在您的表单上绘制或Panel启用DoubleBuffered即可。它好多了。您必须创建自己的对象,以便我们可以计算他们的Region,我们将使用他们的Region填充表单/面板。您必须处理表单/面板的事件MouseMoveMouseDownMouseUp。另一个问题是如何使用objects测试鼠标,以便我们可以根据用户行为控制对象。有一种有用的方法可以实现IsVisible对象的Region

我们不应该使用任何控件进行绘制的原因是我们需要在对象之间重叠一些Transparent效果,使用winforms控件无法帮助您轻松实现,如果不想说不可能,即使你能做到这一点,效果也很差。所以只需在同一画布上绘制所有内容。您还应该尝试使用Image,然后在Image上绘制form/panel或实施自己的Double or triple buffered。有很多事要做,但我希望你的答案中有一些重要的笔记,并选择正确的方向。