2

我使用 WPF 和 VB.Net 作为编码语言。

当我按下任何键时,在某些键(如所有字母键)上,keyDown 事件会很好地触发,但如果我使用箭头键,则 keyDown 事件不会触发。在 WPF 上,我不知道该怎么做。winForms 也有同样的问题。但是有一个 KeyPress 事件非常有效。

我在谷歌上搜索过,但每个地方我都得到了相同的答案。

this.KeyPreview = True;

但我正在使用 VB.Net。this我在 VB.Net 中找不到任何对象

4

1 回答 1

2

问题可能是视觉树中的一些内部控件在按下箭头键时捕获了事件。在这种情况下,您应该监听已处理的事件。下面的代码解决了它,但它是在 C# 中,你应该适应它:

visualObjetToCaptureKey.AddHandler(Keyboard.KeyDownEvent,
            new KeyEventHandler((sender,e)=>{
                                                   //event handler
                                                  }), 
                                                     true);

在事件处理程序中,您应该放置您想要执行的内容。您还可以设置处理事件的方法。希望它有效...

于 2013-05-31T17:45:34.490 回答