以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- MouseEnterCell 问题求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126503)
|
-- 作者:vxzx
-- 发布时间:2018/10/23 9:41:00
-- MouseEnterCell 问题求助
MouseEnterCell 中现有代码:
If e.Col.Name = "气味" Then Dim v As String = "正常无异味" e.Table.ShowToolTip(v, e.Row, e.Col) End If
我想要改为鼠标进入停止3秒后,再显示内容,应该如何写,谢谢。
|
-- 作者:有点甜
-- 发布时间:2018/10/23 11:56:00
--
vars("ltime") = Date.now vars("r") = e.Row vars("c") = e.Col If e.Col.Name = "第二列" Then Dim sdt As Date = Date.Now While Date.Now < sdt.AddSeconds(3) Application.DoEvents End While If (Date.now-cdate(vars("ltime"))).Totalseconds >= 3 andalso vars("r").index = e.Row.index AndAlso vars("c").index = e.Col.index Then Dim v As String = "正常无异味" e.Table.ShowToolTip(v, vars("r"), vars("c"), 5000) End If End If
|
-- 作者:vxzx
-- 发布时间:2018/10/23 14:17:00
--
以下是引用有点甜在2018/10/23 11:56:00的发言: vars("ltime") = Date.now vars("r") = e.Row vars("c") = e.Col If e.Col.Name = "第二列" Then Dim sdt As Date = Date.Now While Date.Now < sdt.AddSeconds(3) Application.DoEvents End While If (Date.now-cdate(vars("ltime"))).Totalseconds >= 3 andalso vars("r").index = e.Row.index AndAlso vars("c").index = e.Col.index Then Dim v As String = "正常无异味" e.Table.ShowToolTip(v, vars("r"), vars("c"), 5000) End If End If
使用上边代码是可以实现3秒后显示,但如果鼠标点动频繁狐表会停止工作,是不是运算太复杂的原因? 此主题相关图片如下:qq截图20181023141221.png
|
-- 作者:有点甜
-- 发布时间:2018/10/23 14:54:00
--
计划管理
If (Date.now-cdate(vars("ltime"))).Totalseconds >= 3 Then MyTimers("计划1").Enabled = False Dim v As String = "正常无异味" Tables("表A").ShowToolTip(v, vars("r"), vars("c"), 5000) End If
mouseentercell
vars("ltime") = Date.now vars("r") = e.Row vars("c") = e.Col If e.Col.Name = "第二列" Then MyTimers("计划1").Interval = 500 MyTimers("计划1").Enabled = True Else MyTimers("计划1").Enabled = False End If
|
-- 作者:vxzx
-- 发布时间:2018/10/26 13:47:00
--
If (Date.now-cdate(vars("ltime"))).Totalseconds >= 3 Then MyTimers("计划1").Enabled = False Dim v As String = Dim v As String = "-这里内容很长很长,有————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————大概这么长"
Tables("表A").ShowToolTip(v, vars("r"), vars("c"), 5000)
Tables("表B").ShowToolTip(v, vars("r"), vars("c"), 5000)
Tables("表C").ShowToolTip(v, vars("r"), vars("c"), 5000)
Tables("表D").ShowToolTip(v, vars("r"), vars("c"), 5000)
End If
按以上的在计划管理中,可正常使用,但若再加表,则报错“索引超出范围”(如以下),这是什么原因,谢谢。
If (Date.now-cdate(vars("ltime"))).Totalseconds >= 3 Then MyTimers("计划1").Enabled = False Dim v As String = Dim v As String = "-这里内容很长很长,有————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————大概这么长"
Tables("表A").ShowToolTip(v, vars("r"), vars("c"), 5000)
Tables("表B").ShowToolTip(v, vars("r"), vars("c"), 5000)
Tables("表C").ShowToolTip(v, vars("r"), vars("c"), 5000)
Tables("表D").ShowToolTip(v, vars("r"), vars("c"), 5000)
Tables("表E").ShowToolTip(v, vars("r"), vars("c"), 5000)
End If
此主题相关图片如下:qq截图20181026134156.png
|
-- 作者:有点蓝
-- 发布时间:2018/10/26 14:04:00
--
鼠标只能在一个表上面,显示其他表的提示有意义吗?这些表的列和行和数据都完全一样?
计划管理 If (Date.now-cdate(vars("ltime"))).Totalseconds >= 3 Then MyTimers("计划1").Enabled = False Dim v As String = "正常无异味" Tables(vars("n")).ShowToolTip(v, vars("r"), vars("c"), 5000) End If mouseentercell vars("ltime") = Date.now vars("r") = e.Row vars("c") = e.Col vars("n") = e.table.name If e.Col.Name = "第二列" Then MyTimers("计划1").Interval = 500 MyTimers("计划1").Enabled = True Else MyTimers("计划1").Enabled = False End If
|
-- 作者:vxzx
-- 发布时间:2018/10/26 14:10:00
--
我一共6个表,鼠标提示的信息都是一样的,提示的是产品录入的标准,6个表分别对应公司6条生产线。
|
-- 作者:有点蓝
-- 发布时间:2018/10/26 14:23:00
--
上传具体实例说明
|