gpt4 book ai didi

c# - 如何为 DataGridView 创建自定义快捷方式?

转载 作者:太空宇宙 更新时间:2023-11-03 14:09:20 24 4
gpt4 key购买 nike

我正在尝试在 Windows 窗体的 DataGridView 控件中创建快捷方式 (CTRL+J)。快捷方式应该完全按照向下箭头的方式执行(即,在大多数情况下,将选择更改为下一项)。

我正在尝试通过覆盖表单的 FormKeyDown 事件并使用 SendKeys.SendWait("{DOWN}") if FormKeyDown 来处理 CTRL+J code> 接收 J 键和 Ctrl 作为修饰符。

但是,当我发送 {DOWN} 键时,它的作用类似于 Ctrl+Down,因为用户仍然按住 CTRL 键!

如何创建自定义快捷方式,使其具有与 DataGridView 已支持的快捷方式完全相同的行为?

最佳答案

您应该避免依赖于使用 SendKeys 模仿用户输入,而是使用正确的 API 进行 DataGridView 类上可用的编程选择。您可以查看以下页面上的程序化选择部分:

Selection Modes in the Windows Forms DataGridView Control

在实现编程选择代码时,您需要考虑为数据 GridView 配置的 SelectionMode


或者,您可以从 DataGridView 继承并实现您的自定义快捷方式,以便它们重定向到现有的快捷方式。示例:

public class MyDataGridView : DataGridView
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == (Keys.Control | Keys.J))
{
this.ProcessDownKey(Keys.Down);

return true;
}

return base.ProcessCmdKey(ref msg, keyData);
}
}

关于c# - 如何为 DataGridView 创建自定义快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8314139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com