以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- MouseLeave事件有些问题 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=120928) |
-- 作者:桃花笑 -- 发布时间:2018/6/26 14:44:00 -- MouseLeave事件有些问题 我要实现的功能是,显示Panel2,当我鼠标离开panel2的区域,则不显示panel2, 结果是,我鼠标在panel2的范围,panel2会不显示。这是什么原因导致的 |
-- 作者:有点甜 -- 发布时间:2018/6/26 15:51:00 -- Dim x As Integer = System.Windows.Forms.Cursor.Current.Position.X Dim y As Integer = System.Windows.Forms.Cursor.Current.Position.Y Dim P As Point = e.Form.panel.PointToScreen(e.Sender.Location) \'msgbox(x & " " & y & vbcrlf & p.x+e.sender.width & " " & p.y+e.sender.height) If x <= p.x OrElse x >= p.x+e.sender.width OrElse y <= p.y OrElse y >= p.y+e.sender.height e.sender.visible = False End If |
-- 作者:桃花笑 -- 发布时间:2018/6/27 13:36:00 -- 从角落离开,这个事件还是出发不了,如下图 我想实现的功能:只要离开panel就关闭panel,和没触发mouseleave,点击了不是panel,panel就关闭 点击任何不适panel的地方,panel都要能关闭 [此贴子已经被作者于2018/6/27 13:45:44编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/27 14:56:00 -- 执行代码,可以放到click、mousemove、timertick等事件
Dim x As Integer = System.Windows.Forms.Cursor.Current.Position.X e.form.controls("panel2").visible = False |
-- 作者:桃花笑 -- 发布时间:2018/6/27 17:10:00 -- 这个效果跟之前一样,又没有什么办法设置,只要不再panel范围内,就关闭panel click、mousemove这两种事件试过了,后面这种没有找到timertick事件
[此贴子已经被作者于2018/6/27 17:16:13编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/6/27 17:25:00 -- 1、写在窗口的click、mousemove事件啊;
2、timertick事件参考 http://www.foxtable.com/webhelp/scr/1301.htm
|