我开发了一个网格控件,我希望当按Tab键时,它会从另一个单元格跳转。问题在于,无论什么事情我都会嫌疑,或者在按下选项卡时覆盖控件,它永远不会被调用。我也尝试在Form级别捕获Tab,但它是相同的,任何Key事件都响应TAB。 有什么建议吗?
答案 0 :(得分:4)
您是否尝试覆盖IsInputKey?
答案 1 :(得分:1)
PreviewKeyDown或KeyPress应该适合你。在测试代码时,你确定你的GridControl得到了重点吗?
答案 2 :(得分:1)
您是否尝试重写ProcessCmdKey?
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if(GridControlFocused)
{
switch(keyData)
{
case Keys.Tab:
// put code here to jump to next cell.
return true;
}
}
return base.ProcessCmdKey(ref msg, keyData);
}
答案 3 :(得分:0)
设置Form.KeyPreview = false
。