以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  datacolchanging多次弹窗  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=177919)

--  作者:rjh4078
--  发布时间:2022/6/10 8:46:00
--  datacolchanging多次弹窗


看例子
如果在窗口中选择大于0的数会出现多次弹窗
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多次弹窗.foxdb



--  作者:有点蓝
--  发布时间:2022/6/10 9:08:00
--  
这是事件触发的机制导致的,应该到控件的valuechanged事件处理

If e.Sender.Value > 0 Then
    e.Sender.Value = Nothing
    MsgBox("不能大于0")
End If

--  作者:rjh4078
--  发布时间:2022/6/10 9:47:00
--  


使用数字控件又不会出现
是不是控件的问题
我是为了简化做了修改,有时候是进行文本判断就必须使用combox


--  作者:有点蓝
--  发布时间:2022/6/10 9:52:00
--  
combox控件的事件机制问题,到valuechanged事件处理
--  作者:rjh4078
--  发布时间:2022/6/10 9:59:00
--  
这个有点不方便 有时候需要联动使用e的其它参数
--  作者:有点蓝
--  发布时间:2022/6/10 10:00:00
--  
什么地方不方便,举例说明一下
--  作者:rjh4078
--  发布时间:2022/6/10 10:51:00
--  
1.使用了全局表事件的,本来可以通过一些变量实现一个事件管控很多个参数,现在是每个窗口的每个相关控件都要写一次
2.事件中的联动,比如datacolchanging触发save事件锁定行再触发窗口菜单变化,现在要绕一圈,而且每个列的变动都要写一次,本来一个case可以关联多个字段



--  作者:有点蓝
--  发布时间:2022/6/10 11:08:00
--  
我反馈一下
--  作者:有点蓝
--  发布时间:2022/6/10 11:30:00
--  
这个现在只能这样处理:不要在这种情况下的datacolchanging事件里使用messagebox提示框,因为提示框会阻断消息循环,导致事件机制异常
--  作者:rjh4078
--  发布时间:2022/6/10 16:29:00
--  
那要怎么提示  不然用户不知道为什么录不进去数据