如何禁用 DataGridView 的键盘快捷键?

问题描述 投票:0回答:3

我刚刚注意到

DataGridView
有一个默认快捷键,因此每当您按 Ctrl + H 时,
DataGridView
的编辑控制退格键,并且可以删除单元格中的整个选择。

这可能会变得非常烦人,因为每当按下 Ctrl + H 时我都想打开替换框。有没有什么方法可以停止退格,同时仍然能够使用它来打开替换框?

我正在运行 C# 2.0,但如果较新的 C# 有解决方案,我可以将应用程序更新到 3.5。

c# datagridview keyboard-shortcuts backspace
3个回答
5
投票

这将进入您的表单代码:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{     
  if (keyData == (Keys.Control | Keys.H))
  {
    //ShowReplaceDialog() or whatever it is you want to do here.
    return true; //we handled the key
  }

  return base.ProcessCmdKey(ref msg, keyData); //we didn't handle it
}

0
投票

void m_dgv_KeyDown(object sender, KeyEventArgs e)
    {
               if (e.KeyCode == (Keys.Control | Keys.H))
                {
                  e.Handled = true;
                }
   }


0
投票

//保存前,将焦点置于另一个控件上,然后保存。

protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {

if (keyData == Keys.F5) {

label1.Focus(); btnSave_Click(null, null);

}

返回base.ProcessCmdKey(ref msg, keyData); //我们没有处理它 }

© www.soinside.com 2019 - 2024. All rights reserved.