credream 发表于 2015-10-9 11:41:00

MultiRow8.0如果明细中有RadioButton的话,为什么就不能触发form的keydown事件了?

1.MultiRow8.0如果明细中有RadioButton的话,为什么就不能触发form的keydown事件了?
同时也不能触发MultiRow8.0的keydown事件了?
我们需要在keydown事件中,处理Tab按键的动作,当到MultiRow8.0的最后一行的时候,焦点需要迁出MultiRow8.0,进入画面中的button上。

Alice 发表于 2015-10-9 18:12:00

回复 1楼credream的帖子

你好。
按下Tab键不会触发KeyPress事件。
截获Tab键行为应该在Form上Override一个叫做ProcessCmdKey的方法。你看看能不能模拟一下?

credream 发表于 2015-10-10 10:55:00

回复 2楼Alice的帖子

首先我们为了实现合理的tab顺,现在是MultiRow上有一列类型是GcComBox的cell,光标进入后,按tab键会自动进入下一行GcComBox的cell中,但是当走到最后一行的时候,跳不出来,进入form上的其他按钮上。。。反而在MultiRow中,走到了MultiRow的第一行去了,然后就如此循环。。

ProcessCmdKey方法已经试过了,只能在form上的时候触发,在MultiRow中的时候是没法被触发的。。。

有没有事件是针对,某一列的。。。

Alice 发表于 2015-10-10 19:05:00

回复 3楼credream的帖子

很抱歉回复晚了。
针对你的问题,请提供一个重现问题的简单demo,我们根据你的demo帮助你看看。

Carl 发表于 2015-10-12 09:14:00

在MultiRow的ShortcutKeyManager中,
Tab 和 Shift+Tab 分别绑定的是SelectionActions.MoveToNextCell 和SelectionActions.MoveToPreviousCell。这两个Action都是Wrap方式,就是到最后一个会自动跳到第一个的。
你可以尝试把 Tab 和 Shift+Tab 分别绑定到 MoveToNextCellThenControl 和 MoveToPreviousCellThenControl,这两个Action是移动到最后一个Cell,再按一下就把Focus跳到下一个Control。

如果你要自定义Tab键的行为,参见http://gcdn.gcpowertools.com.cn/showtopic-18665.html

credream 发表于 2015-10-12 11:53:00

回复 5楼Carl的帖子

恩,已经弄好了。。。谢谢

Alice 发表于 2015-10-12 14:12:00

回复 6楼credream的帖子

谢谢反馈。
此问题关闭。
页: [1]
查看完整版本: MultiRow8.0如果明细中有RadioButton的话,为什么就不能触发form的keydown事件了?