删除填充矩形c#

Posted

技术标签:

【中文标题】删除填充矩形c#【英文标题】:delete filled rectangle c# 【发布时间】:2015-08-20 21:32:27 【问题描述】:

我正在为视频游戏制作外部地图。因此,我在图片框内绘制了一个矩形。我使用计时器每 1/10 秒重画一次矩形。现在我的问题是:如何在绘制新矩形之前删除旧矩形?

【问题讨论】:

查看您实际拥有的代码会有所帮助 【参考方案1】:

您应该使用通过PaintEventArgs 传递的Graphics 对象在PictureBoxPaint 事件的事件处理程序中进行绘图。然后每次PictureBox重新绘制其内容时,将为您完成PictureBox背景的清除和重新绘制。然后,您可以每 1/10 秒调用一次 yourPictureBox.Invalidate(),而不是每 1/10 秒调用一次绘图方法。

【讨论】:

你能给我更多关于如何做到这一点的信息吗? @darude_cod3r 将你的绘图代码移到PictureBox_OnPaint() 您可以通过表单设计器添加Paint 事件处理程序。选择您的PictureBox,然后在“属性”窗口中,单击“事件”按钮(看起来像闪电)。向下滚动到 Paint 事件。双击。这将为您的代码添加一个事件处理程序方法,并将您带到 .cs 文件中的那个点。将您的绘图代码移动到该方法中,但使用e.Graphics 而不是您将创建的Graphics 对象。如果您需要更详细的信息,现在是 Google 时间了。 问题是,您的建议仅在我滚动图片框时有效。一旦我停止,我的广场就会消失...... 您是否更新了您的计时器Tick 事件处理程序以调用yourPictureBox.Invalidate()

以上是关于删除填充矩形c#的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Photoshop CS5 绘制一个 Android 矩形图标

矩形选框工具怎么删除

c# 矩形框

如何使用C#实现可拖动的透明矩形框/窗体

DrawRect ()画好矩形如何填充??

《C# GDI+ 破境之道》:第一境 GDI+基础 —— 第三节:画圆形