Foxtable(狐表)用户栏目专家坐堂 → 用sendkey执行回车命令应该怎么写?


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

主题:用sendkey执行回车命令应该怎么写?

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19403 威望:0 精华:20 注册:2008/9/2 10:09:00
用sendkey执行回车命令应该怎么写?  发帖心情 Post By:2009/8/29 9:18:00 [只看该作者]

在窗口Table的双击事件中,设置以下代码:
If CurrentTable.Current IsNot Nothing Then
    Forms("窗口1").Controls("Button3").Select()
    Sendkeys.Send("{ENTER}")
End If
其目的是,双击后自动执行按钮(Button3)的事件。
但是,这个代码将焦点移动到按钮上以后,并未执行该按钮上的事件。请问正确的代码应该怎么写?

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19403 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/29 9:36:00 [只看该作者]

总觉得sendkey很奇怪,刚才再试又可以了。
一会好,一会不好,可能是什么原因呢?

 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/8/29 10:40:00 [只看该作者]

我用sendkey好多次都发现不太管用,所以现在我不用它了

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/8/29 11:42:00 [只看该作者]

以下是引用reachtone在2009-8-29 9:18:00的发言:
在窗口Table的双击事件中,设置以下代码:
If CurrentTable.Current IsNot Nothing Then
    Forms("窗口1").Controls("Button3").Select()
    Sendkeys.Send("{ENTER}")
End If
其目的是,双击后自动执行按钮(Button3)的事件。
但是,这个代码将焦点移动到按钮上以后,并未执行该按钮上的事件。请问正确的代码应该怎么写?


奇怪,我没发现问题呀。

如果真的不行,可以这样试试:
If CurrentTable.Current IsNot Nothing Then
    Sendkeys.Send("{ENTER}")
    Forms("窗口1").Controls("Button3").Select()
End If


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33951 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2009/8/29 11:44:00 [只看该作者]

或者这样试试:

If CurrentTable.Current IsNot Nothing Then
    Forms("窗口1").Controls("Button3").Select()
    Application.Doevents
    Sendkeys.Send("{ENTER}")
End If


因我测试不出问题,以上都是瞎蒙的。

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


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19403 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2009/8/29 13:38:00 [只看该作者]

    sendkey上午的时候,有时管用,有时不管用。刚才再试,怎么试都是正常的。真是晕死了!
    还有就是,请老六在有空的时候,一定要好好考虑一下如何调用现成事件的问题。这个问题我在上个月提过,现在随着项目应用的深入,这个需求越来越迫切!比如,上例中的按钮事件,如果该按钮有模拟单击的方法,就根本用不到sendkey了。除此之外,还有这种情况:
    我在table的keydown事件中设置了事件,如果回车就会将当前行的值取出来填到另外一个表里。现在我想在DoubleClick里也完成同样的功能,难道要将同样的代码再复制过来一遍吗?当然,可以用函数解决,但是,随着功能越来越多,这样的函数也会不断增加,恐怕到最后自己都搞不清哪是哪了。所以,最好的办法是,可以直接模拟执行现成的事件!


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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/8/31 8:00:00 [只看该作者]

给按钮加一个performClick方法算了

 回到顶部