【问题标题】:How to draw a Rectangle in picturebox in the mousemove event in a vb.net application?如何在 vb.net 应用程序的 mousemove 事件中在图片框中绘制一个矩形?
【发布时间】:2012-02-14 19:27:55
【问题描述】:

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

我也使用图片框的 mousedown 和 mouseup 事件有点成功。 mousedown 事件设置起点,mouseup 事件设置终点(矩形的对角点。)问题是“mousedown 和 mouseup 事件之间似乎没有发生任何事情(嗯..这很明显,因为我没有添加任何mousemove 事件的代码)。我的问题是:“我可以做些什么来在 mousemove 事件期间看到一个不断增长的矩形吗?”。绘图的其余部分应该不受影响。谢谢!!:)

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    您需要在开始绘制矩形之前缓存图像(在 mousedown 中做的第一件事)。然后在 mousemove 中,您使用该起点和鼠标位置来构建一个矩形并将其绘制到一个新的位图(首先绘制缓存的图像,然后将矩形分层),然后在您的图片框中显示新的位图。最后在 mouseup 中设置一个标志,指示 mousemove 不应该做任何事情(直到 mousedown 再次)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-20
      • 1970-01-01
      • 2011-08-25
      • 1970-01-01
      • 2011-04-21
      • 2013-05-17
      • 2012-09-12
      • 2013-09-16
      相关资源
      最近更新 更多