【发布时间】:2020-04-18 16:00:59
【问题描述】:
我通过左键单击它们并将它们拖动到另一个位置来移动 Form1 上的图片框。 (即,将 mousemove、mousedown、mouseup 与 e.X 和 e.Y 一起使用)。我还使用拖放将线条形状从一个图片框连接到另一个图片框。但是,当拖动线形的末端时,当它位于图片框上方时,我不会显示线形的末端 - 表示可以放在给定的图片框上。
问题是,在将图片框移动到所需位置后,有时拖动的线条形状的末端会消失在不再存在的“幽灵”或图片框的残留物上。显然,每当我移动图片框时,都需要更新控制位置。那么,在我移动图片框之后,是否需要对 Form1 的控件进行某种刷新,以便更新图片框的位置?
【问题讨论】:
-
什么是连接线形?您可以发布一些可以重现此行为的代码吗?无论如何,尝试在下降后致电
Me.Invalidate(true)(指定一个区域,如果它闪烁太多)。或刷新表单(更多闪烁)。我不太确定您的问题/背景是什么,所以... -
解决了这个问题。线形末端在设计时跳过了位于 Form1 上的默认图片框,这些图片框在运行时设置为不可见。所以我基本上过滤了添加的新图片框的名称,它解决了这个问题。线形是无需自定义图形命令即可在表单上绘制的线条;它们是 Microsoft VBPowerPacks ShapeControls 的一部分。
标签: vb.net picturebox ghost-blog