C# 中使用鼠标拖动窗口导致窗口闪动.
2013-01-09 19:11
225 查看
在模拟鼠标拖动窗口时, 如果使用MouseEventArgs e的坐标, 并且用鼠标拖动
窗口到达一个新的位置时, 不松开鼠标, 会出现窗口闪动的情况.
原因是: 一直在触发MouseMove事件, 这是由于e的坐标是相对于倒数第二个窗口
位置的坐标, 在倒数第二个窗口位置变成最后一个窗口位置时, 此时鼠标相对于窗口
的位置发生了变化, 虽然鼠标没有动了, 但是相对位置发生了变化也会触发MouseMove
事件, 因此解决方法采用: 全局的鼠标位置, 就ok了.
窗口到达一个新的位置时, 不松开鼠标, 会出现窗口闪动的情况.
原因是: 一直在触发MouseMove事件, 这是由于e的坐标是相对于倒数第二个窗口
位置的坐标, 在倒数第二个窗口位置变成最后一个窗口位置时, 此时鼠标相对于窗口
的位置发生了变化, 虽然鼠标没有动了, 但是相对位置发生了变化也会触发MouseMove
事件, 因此解决方法采用: 全局的鼠标位置, 就ok了.
相关文章推荐
- C#使用_鼠标拖动无标题栏窗口
- dephi中单击鼠标拖动窗口(使用WM_SYSCOMMAND)
- Vs2010使用SplitterWnd时,拖动窗口导致View间歇性消失
- c# 鼠标在控件上拖动 移动窗体 移动窗口
- c# 实现用鼠标拖动没有标题栏的窗口(窗体的任何部分都可实现拖动效果)
- winform 在mdi窗口重绘界面时,mdi挡住主窗体,导致鼠标拖动缩放窗体大小失效的解决方法随笔
- C#鼠标任意拖动PictureBox等控件(使用API ReleaseCapture SendMessage)
- c#:winform鼠标拖动窗口大小时,设定窗口最小尺寸
- C#实现鼠标拖动自定义窗口
- 使用SplitterWnd时,拖动窗口导致View间歇性消失
- C#实现Winform鼠标拖动窗口大小时设定窗口最小尺寸的方法
- c#:winform鼠标拖动窗口大小时,设定窗口最小尺寸
- C#窗体隐藏标题栏后,鼠标可拖动窗口的代码!
- C#中模仿鼠标拖动窗口
- “鼠标拖动游戏窗口,消息循环会卡住,导致游戏不能更新不能渲染”,解决办法在这里
- 使用C#钩子监视全局鼠标位置
- 使用C#: 自动切换鼠标的左右手习惯
- c#使用热键实现程序窗口隐藏示例
- 禁止鼠标拖动图片在新窗口打开
- [C#]解决带电插拔串口导致鼠标乱窜、串口无法打开的问题