使用+(加号)和 - (减号)键盘键作为DataGridView中的递增器和递减器

Kha*_*uez 5 c# datagridview keypress keyboard-events winforms

在我用C#编写的WinForms应用程序中,我有一个DataGridViewTextBoxColumn,单元格保存整数值,我希望用户能够使用键盘中的+和 - 键递增或递减.

我已经处理了KeyDown事件,因为它通常用于处理Delete键等,但它不适用于Plus和Minus键,因为按下它们会导致Cell进入编辑模式,而KeyDown事件是因此从未为这些键发射过.KeyPress事件也是如此

实际上,如果我将单元格设置为只读,则会被触发,但我对此解决方案不满意,因为它会迫使我在代码的几个区域中将属性从true设置为false,并且很快就会变得混乱.

什么会成为实现这一目标的最佳方式?

谢谢.

小智 9

你试过这个:

而不是使用它:Keys.OemMinus使用这个:Keys.Subtract

而不是使用它:Keys.Oemplus使用这个:Keys.Add

  • 请注意,您可能需要检查两组,在我的罗技 K120 键盘上,“Keys.Oemplus”和“Keys.OemMinus”用于数字行上的 [+] 和 [-] 键,以及“Keys.Add”和“ Keys.Subtract` 用于数字小键盘上的 [+] 和 [-] 键。 (2认同)

Dav*_*sky 2

您需要在击键到达数据网格之前捕获它们。

这看起来与您想要做的非常接近: http://support.microsoft.com/kb/320584