找回密码
 立即注册

QQ登录

只需一步,快速开始

zj_wind

中级会员

11

主题

31

帖子

824

积分

中级会员

积分
824

活字格认证

zj_wind
中级会员   /  发表于:2011-11-7 16:56  /   查看:6873  /  回复:4
光标处于格子中时,以极快的速度连续敲击回车键,光标会在当前明细行的各个格子间移动,但是偶尔光标会在一瞬间跑到当前Form中的一个comboBox上,然后迅速回来,继续在格子间移动。
然而,当我一一般的速度敲击回车键时,光标只会当前明细行的各个格子间移动,
我将程序中和KeyDown相关的方法全部注掉,现象依旧。
实在是想不到原因是为什么!
推测是multiRow与操作系统之间处理按键的时序问题。也许无解---黔驴技穷了
不知各位有什么样的看法。
注:明细行上有大概十几个格子,不连续的分布着3个combox控件

忘记说了,我在multiRow的初期化时,执行了下面的代码

                ' Me.TblList設定
                Me.TblList.ShortcutKeyManager.Unregister(Keys.Enter)
                Me.TblList.ShortcutKeyManager.Register( _
                    New CustomNext(), Keys.Enter)

在CustomNext中,执行下面的代码
  SelectionActions.MoveToNextCell.Execute(target)
                While target.CurrentCell.ReadOnly = True
                    SelectionActions.MoveToNextCell.Execute(target)
                End While

4 个回复

倒序浏览
zj_wind
中级会员   /  发表于:2011-11-7 18:08:00
沙发
根据Log显示,光标是在执行CustomNext中SelectionActions.MoveToNextCell.Execute(target)这句代码之后,程序执行某个格子的CellEnter事件,还没从该事件退出来时,光标就迁出该格子,跑到外面的comboBox上,然后再次进入该格子的enter事件方法,然后退出该方法2次,头脑混乱啊!!!
回复 使用道具 举报
zj_wind
中级会员   /  发表于:2011-11-8 11:57:00
板凳
问题已经明了了,是在快速按键的时候,form的父类也相应了keyDown事件,在keydown事件中,迁移了当前控件的光标
感觉还是无解。。。。
回复 使用道具 举报
robert
金牌服务用户   /  发表于:2011-11-9 08:50:00
地板
能发个Demo上来吗?
回复 使用道具 举报
zj_wind
中级会员   /  发表于:2011-11-9 10:03:00
5#
我试着做个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部