单词加载项,在customui中的组合框上的KeyDown处理

时间:2013-07-25 14:27:19

标签: c# events ms-word vsto add-in

  

块引用

在Word加载项中需要一些 CustomUI 的帮助。 我有一个

<combobox /> 

在我的自定义ui中。

如何按用户按 Enter 处理? 当用户在ComboBox中按 Enter 时,我需要执行一些操作。 我可以以某种方式添加KeyDown事件,或者将IRibbonControl投射到有用的事物上吗?

更新:

决定不包含该功能。但仍对该问题的解决方案感兴趣。

1 个答案:

答案 0 :(得分:0)

即使是WindowSelectionChange事件也无法帮到你。它适用于其他按键,但不适用于Enter和Backspace(我知道)。

您必须使用low level keyboard hook

EDITED * *

当按下任何键时会有一个回调它将被调用。

 private static IntPtr HookCallback(
                int nCode, IntPtr wParam, IntPtr lParam)
            {
                if (nCode >= 0 && wParam == (IntPtr) WM_KEYDOWN)
                {
                    int vkCode = Marshal.ReadInt32(lParam);
                    //Check if the enter key is pressed
                    if (vkCode == (int) Keys.Enter )
                        // Do here whatever you need
                }
                return CallNextHookEx(_hookID, nCode, wParam, lParam);
            }