Foxtable(狐表)用户栏目专家坐堂 → 不使用API移动无边框窗体,如何实现鼠标左键没有松开前显示虚框?


  共有1779人关注过本帖树形打印复制链接

主题:不使用API移动无边框窗体,如何实现鼠标左键没有松开前显示虚框?

帅哥哟,离线,有人找我吗?
458445945
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:81 积分:805 威望:0 精华:0 注册:2015/9/19 12:53:00
不使用API移动无边框窗体,如何实现鼠标左键没有松开前显示虚框?  发帖心情 Post By:2016/3/21 0:07:00 [只看该作者]

以下是我目前用的代码 myform,zbx,zby是全局变量
自定义函数ydchuank1
Dim x As Integer = System.Windows.Forms.Cursor.Current.Position.X
Dim y As Integer = System.Windows.Forms.Cursor.Current.Position.Y
zbx = myform.left - x
zby = myform.Top - y

自定义函数ydchuank2
Dim x As Integer = zbx + System.Windows.Forms.Cursor.Current.Position.X
Dim y As Integer = zby + System.Windows.Forms.Cursor.Current.Position.Y
myform.Left = x
myform.Top = y
myform.Width = myform.Width
myform.Height = myform.Height

mousemove事件
If e.Button = Windows.Forms.MouseButtons.Left And basemainform.WindowState <> Windows.Forms.FormWindowState.Maximized Then
    Functions.Execute("ydchuank2")
End If
mousedown事件
If e.Button = Windows.Forms.MouseButtons.Left And basemainform.WindowState <> Windows.Forms.FormWindowState.Maximized Then
    myform = basemainform
    Functions.Execute("ydchuank1")
End If

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/21 2:45:00 [只看该作者]

 不行,不用api,就不能捕捉到鼠标移动弹起的消息,也就无法做虚框的效果。

 回到顶部
帅哥哟,离线,有人找我吗?
458445945
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:81 积分:805 威望:0 精华:0 注册:2015/9/19 12:53:00
  发帖心情 Post By:2016/3/21 10:01:00 [只看该作者]

嗯嗯 好的 谢谢老师!

 回到顶部