如何让文本框首先响应键盘事件

时间:2022-10-16 23:15:08
在DataGridView上放置了一个文本框,想使用文本框输入分数,通过验证后再填充到DataGridView的当前单元格,但文本框只能响应数字或字母键输入的事件,当使用方向键或回车时,却被DataGridView第一个捕获了(DataGridView也有键盘事件),怎样才能达到当文本框被显示出来并拥有焦点时,让文本框第一个响应键盘事件?
我想在文本框显示时设置DataGridView不响应键盘事件,却找不到合适的属性进行设置。

8 个解决方案

#2


引用 1 楼 asdfy 的回复:
http://topic.csdn.net/u/20091109/23/5175ef74-e140-441c-878f-81f830ca1f0a.html
参考6L.

那里也没解决

#3


在 DataGridView和文框的KeyPress事件里都放了:
  MsgBox(e.KeyChar)
结果按键后没显示一个对话框,郁闷啊。到底是谁把键盘事件给处理了?可按下方向键或回车后当前单元格该怎么变还怎么变,就是没有执行KeyPress事件中的代码。

#4


UP!

#5


引用 3 楼 guduguoker 的回复:
在 DataGridView和文框的KeyPress事件里都放了:
  MsgBox(e.KeyChar)
结果按键后没显示一个对话框,郁闷啊。到底是谁把键盘事件给处理了?可按下方向键或回车后当前单元格该怎么变还怎么变,就是没有执行KeyPress事件中的代码。

按方向键或回车键没反应,数字或字母都可以执行文本框的KeyPress事件。

#6


用KeyUp试试

#7


自己写代码控制呀

你不就是说GRIDVIEW上和TEXTBOX上都会响应键盘事件吗,现在你想让TEXTBOX获取焦点的时候先TEXTBOX来

响应键盘事件吗?

那你自己定义一个变量来确定当前状态,然后在GRIDVIEW上响应键盘事件的地方判断一下不就行了

#8


呵呵 搞定了。
原来是我在DataGridView的SelectionChanged事件中的部分代码与TextBox的KeyPress事件中的代码形成了交叉。我本来是想在单元格选定后把文本框移动到单元格上,代替原单元格的编辑框,结果就造成了这样的毛病。现在换到双击单元格时移动文本框,一切OK!
 

#1


#2


引用 1 楼 asdfy 的回复:
http://topic.csdn.net/u/20091109/23/5175ef74-e140-441c-878f-81f830ca1f0a.html
参考6L.

那里也没解决

#3


在 DataGridView和文框的KeyPress事件里都放了:
  MsgBox(e.KeyChar)
结果按键后没显示一个对话框,郁闷啊。到底是谁把键盘事件给处理了?可按下方向键或回车后当前单元格该怎么变还怎么变,就是没有执行KeyPress事件中的代码。

#4


UP!

#5


引用 3 楼 guduguoker 的回复:
在 DataGridView和文框的KeyPress事件里都放了:
  MsgBox(e.KeyChar)
结果按键后没显示一个对话框,郁闷啊。到底是谁把键盘事件给处理了?可按下方向键或回车后当前单元格该怎么变还怎么变,就是没有执行KeyPress事件中的代码。

按方向键或回车键没反应,数字或字母都可以执行文本框的KeyPress事件。

#6


用KeyUp试试

#7


自己写代码控制呀

你不就是说GRIDVIEW上和TEXTBOX上都会响应键盘事件吗,现在你想让TEXTBOX获取焦点的时候先TEXTBOX来

响应键盘事件吗?

那你自己定义一个变量来确定当前状态,然后在GRIDVIEW上响应键盘事件的地方判断一下不就行了

#8


呵呵 搞定了。
原来是我在DataGridView的SelectionChanged事件中的部分代码与TextBox的KeyPress事件中的代码形成了交叉。我本来是想在单元格选定后把文本框移动到单元格上,代替原单元格的编辑框,结果就造成了这样的毛病。现在换到双击单元格时移动文本框,一切OK!