C# 如何在MS word按键上引发事件

C# 如何在MS word按键上引发事件,c#,ms-word,vsto,office-interop,C#,Ms Word,Vsto,Office Interop,我正在开发一个MS Word插件,其中我的代码必须能够访问用户通过键盘输入的字母 private void ThisDocument_Startup(object sender, System.EventArgs e) { this.SelectionChange += new SelectionEventHandler(ThisDocument_SelectionChange); } void ThisDocument_SelectionChange(object sender, S

我正在开发一个MS Word插件,其中我的代码必须能够访问用户通过键盘输入的字母

private void ThisDocument_Startup(object sender, System.EventArgs e)
{
    this.SelectionChange += new SelectionEventHandler(ThisDocument_SelectionChange);
}

void ThisDocument_SelectionChange(object sender, SelectionEventArgs e)
{
    MessageBox.Show(e.Selection.Text);
}

我认为SelectionChange事件可以给我文本,但该事件不会在按键时引发,有没有办法在按键时触发该事件?此外,如果有一种更直接的方法来实现这一点,或者有一个开源项目提供了这一功能,那么它将是受欢迎的。

Microsoft不会以本机方式公开密钥关闭事件,但有一种解决方法

我在下面链接的文章的帮助下实现了键盘检查:


这为您提供了一个名为IsKeyDown的静态方法,实现和调用您可以订阅的委托应该相当简单。

选择更改是指“突出显示文本”时的状态更改。(),查找类似“KeyUp”、“KeyDown”或“KeyPress”的内容,尽管快速搜索不会产生任何结果。请参阅@PhilPrice,答案表明没有可从visual studio访问的直接“KeyUp”或“KeyDown”事件。我使用“SelectionChange”事件作为解决方法。如果我可以触发它,我可以在光标处捕捉角色。顺便说一句,它已经可以由箭头键触发。无论如何,谢谢你的输入+1谢谢你的回答。我正在考虑使用这种方法。您实现的代码可靠吗?我的意思是,办公室/文字是否会妨碍工作,并断断续续地停止工作?谢谢。我不确定,我没有用它来表示addon:)@Soeholm你提供的链接现在已经失效了。这是一个失效链接的副本:“实现和调用委托”是什么意思。你能把这个加到你的答案里吗。