Tag: keyup

处理多个按键并检测键盘事件

我正在制作一个简单的游戏,我使用以下代码来检测光标键: protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if (Connection == null || Connection.IsOpen == false) return true; Thread.Sleep(SleepTime); switch (keyData) { case Keys.Up: GoForward(); return true; case Keys.Right: GoRight(); return true; case Keys.Left: GoLeft(); return true; case Keys.Down: GoBackward(); return true; case Keys.Space: Beep(); return true; } return base.ProcessCmdKey(ref msg, keyData); } […]

editmode中的单元格不会在C#中触发OnKeyDown事件

我已经制作了自己的datagridview控件,其中包含ovveride OnKeyDown事件: public partial class PMGrid : DataGridView { protected override void OnKeyDown(KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { e.SuppressKeyPress = true; //suppress ENTER //SendKeys.Send(“{Tab}”); //Next column (or row) base.OnKeyDown(e); } else if (e.KeyCode == Keys.Tab) { base.OnKeyDown(e); this.BeginEdit(false); } else { base.OnKeyDown(e); } } } 当我点击datagridview并按Enter键时,它工作得很完美,因为行没有改变,而且KeyUp事件被触发。 但是当我按下Tab键时,会选择下一个单元格并将其更改为EditMode。 当我在这个单元格中按Enter键时,KeyUp事件不会被触发,KeyPress也会被触发。 我尝试这样做,用户可以从一个单元格移动到下一个单元格,然后用户可以在此单元格中写入内容,然后当用户按Enter键时,此值将保存到数据库中。 但是当单元格在EditMode中时,我无法检测到该用户按Enter键。 谢谢

控制键的ListView KeyUp错误

ListView.KeyDown 事件显示以下内容: e KeyData = LButton | ShiftKey | Control base {KeyData = LButton | ShiftKey | Control} Alt false bool Control true bool Handled false bool KeyCode LButton | ShiftKey KeyData LButton | ShiftKey | Control KeyValue 17 Modifiers Shift false bool SuppressKeyPress false bool 我不喜欢出现但Control键正在显示的事实。 在ListView.KeyUp 事件上显示以下内容: – e {KeyData = LButton | […]