如何在vb.net应用程序中的mousemove事件中的picturebox中绘制一个Rectangle?

时间:2012-02-14 19:27:56

标签: vb.net

实际上我在VB.Net 2010中创建了一个简单的绘图应用程序。我想在我的应用程序中绘制形状,就像在Microsoft Paint中使用鼠标一样。

我在使用图片框的mousedown和mouseup事件时也有点成功。 mousedown事件设置起始点,mouseup事件设置结束点(矩形的对角点。)问题是“mousedown和mouseup事件之间似乎没有发生任何事情(嗯......这是显而易见的,因为我没有添加任何关于mousemove事件的代码。。我的问题是:“在mousemove事件期间,我可以做一些事情看到一个正在增长的矩形吗?”。图纸的其余部分应保持不受影响。谢谢!! :)

1 个答案:

答案 0 :(得分:1)

您需要在开始绘制矩形之前缓存图像(首先在mousedown中执行此操作)。然后在mousemove中使用该起点和鼠标位置构造一个矩形并将其绘制到一个新的位图(首先绘制缓存的图像,然后将矩形层叠在顶部),然后在pic框中显示新的位图。最后在mouseup中你设置一个标志,指示mousemove不应该做任何事情(直到mousedown再次)。