更改窗口位置时,ToolTip窗口会闪烁

时间:2017-03-15 04:50:11

标签: c# winforms tooltip interop popupwindow

我正在开发一个Popup控件,它将在悬停集成控件时显示为ToolTip,我已经实现了这一点。

我已使用 user32 dll SetWindowPos 方法更改了窗口的位置,并且位置正在成功更改。

在更改工具提示窗口位置之前,通常会显示光标位置的BottomRight。

我的问题是,当我改变窗口的位置与默认窗口位置(BottomRight)的区域不相交时,它工作正常。 但是当我改变窗口的位置时,窗口的任何区域都在窗口的默认位置范围内相交。然后窗口闪烁,弹出窗口没有正确显示。

这是我用来改变光标位置底部中心窗口位置的代码部分。

PostApplicationStartMethod

使用上面的代码会将窗口区域的一半与默认窗口区域相交。

请有人建议我,为什么更改默认位置相交的位置会导致窗口闪烁和显示不正确。

编辑解决方法: 我注意到窗口过程反复被触发,为什么窗口闪烁。当我将窗口的Y位置改为 point.Y + = 1; 闪烁问题已解决。

我认为弹出窗口中的光标位置会再次显示导致闪烁的窗口。谁能证实这种行为?如果没有,请纠正我。

此致,Amal Raj。

0 个答案:

没有答案