我刚刚注意到
DataGridView
有一个默认快捷键,因此每当您按 Ctrl + H 时,DataGridView
的编辑控制退格键,并且可以删除单元格中的整个选择。
这可能会变得非常烦人,因为每当按下 Ctrl + H 时我都想打开替换框。有没有什么方法可以停止退格,同时仍然能够使用它来打开替换框?
我正在运行 C# 2.0,但如果较新的 C# 有解决方案,我可以将应用程序更新到 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
}
void m_dgv_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == (Keys.Control | Keys.H))
{
e.Handled = true;
}
}
//保存前,将焦点置于另一个控件上,然后保存。
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
if (keyData == Keys.F5) {
label1.Focus(); btnSave_Click(null, null);
}
返回base.ProcessCmdKey(ref msg, keyData); //我们没有处理它 }