删除填充矩形c#
Posted
技术标签:
【中文标题】删除填充矩形c#【英文标题】:delete filled rectangle c# 【发布时间】:2015-08-20 21:32:27 【问题描述】:我正在为视频游戏制作外部地图。因此,我在图片框内绘制了一个矩形。我使用计时器每 1/10 秒重画一次矩形。现在我的问题是:如何在绘制新矩形之前删除旧矩形?
【问题讨论】:
查看您实际拥有的代码会有所帮助 【参考方案1】:您应该使用通过PaintEventArgs
传递的Graphics
对象在PictureBox
的Paint
事件的事件处理程序中进行绘图。然后每次PictureBox
重新绘制其内容时,将为您完成PictureBox背景的清除和重新绘制。然后,您可以每 1/10 秒调用一次 yourPictureBox.Invalidate()
,而不是每 1/10 秒调用一次绘图方法。
【讨论】:
你能给我更多关于如何做到这一点的信息吗? @darude_cod3r 将你的绘图代码移到PictureBox_OnPaint()
您可以通过表单设计器添加Paint
事件处理程序。选择您的PictureBox
,然后在“属性”窗口中,单击“事件”按钮(看起来像闪电)。向下滚动到 Paint
事件。双击。这将为您的代码添加一个事件处理程序方法,并将您带到 .cs 文件中的那个点。将您的绘图代码移动到该方法中,但使用e.Graphics
而不是您将创建的Graphics
对象。如果您需要更详细的信息,现在是 Google 时间了。
问题是,您的建议仅在我滚动图片框时有效。一旦我停止,我的广场就会消失......
您是否更新了您的计时器Tick
事件处理程序以调用yourPictureBox.Invalidate()
?以上是关于删除填充矩形c#的主要内容,如果未能解决你的问题,请参考以下文章