gpt4 book ai didi

c# - 如何防止 usercontrol 表单处理 c# 中的键盘输入(箭头键)

转载 作者:行者123 更新时间:2023-11-30 14:17:20 24 4
gpt4 key购买 nike

我的用户控件包含可以选择的其他控件,我想实现使用箭头键在子控件上导航的方式

问题是父控件会拦截箭头键并使用它来滚动其 View ,这是我想避免的事情。我想自己解决导航控件内容。

我如何控制由箭头键引起的标准行为?

提前致谢MTH

最佳答案

这通常是通过覆盖 IsInputKey() 方法来完成的,以告知您需要这些键。然而,这对 UserControl 不起作用,它永远不会获得焦点,因此 OnKeyDown 方法永远不会运行。相反,覆盖 ProcessCmdKey() 方法,它在表单看到击键之前被调用。像这样:

    protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
switch (keyData) {
case Keys.Left: MessageBox.Show("Left!"); break;
case Keys.Right: MessageBox.Show("Right!"); break;
default: return base.ProcessCmdKey(ref msg, keyData);
}
return true; // used
}

关于c# - 如何防止 usercontrol 表单处理 c# 中的键盘输入(箭头键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6177201/

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