C# 防止按下右或左箭头键时列表框控件上的默认操作

发布于 2024-11-26 03:06:53 字数 99 浏览 1 评论 0原文

我在 Windows 应用程序中有一个列表框控件,我想禁用默认的左右箭头 keydown 事件触发器。目前,当您按向右或向左箭头时,所选项目会在列表框中上下移动。我想添加我自己的动作。

I have a listbox control in a windows app and I want to disable the default right and left arrow keydown event triggers. Currently when you press right or left arrows the selected item travels up and down the listbox. I want to add my own actions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

屋顶上的小猫咪 2024-12-03 03:06:53

尝试向 ListBox.KeyDown 事件添加事件处理程序。如果按下的键是箭头键,请将 KeyPressEventArgsHandled 标志设置为 true 以防止进一步处理。

代码示例,基于 MSDN 论坛帖子< /a>

private void listBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
  If (e.KeyCode == Keys.Right || e.KeyCode == Keys.Left)
    e.Handled = true;
}

Try adding an event handler to the ListBox.KeyDown event. If the key pressed is an arrow key, set the Handled flag of the KeyPressEventArgs to true to prevent further processing.

A code example, based on an MSDN Forum post

private void listBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
  If (e.KeyCode == Keys.Right || e.KeyCode == Keys.Left)
    e.Handled = true;
}
两个我 2024-12-03 03:06:53

您必须重写 ProcessCmdKey 方法在列表框控件中。创建一个新类,从列表框派生它,然后覆盖 ProcessCmdKey。

You have to override the ProcessCmdKey method in the listbox control. Create a new class, derive it from listbox, then override the ProcessCmdKey.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文