Вопрос по vsto, c#, ms-word, office-interop – Как поднять событие на MS Word Keypress

6

Я разрабатываю аддон 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 может дать мне текст, но событие не вызывается при нажатии клавиш. Есть ли способ вызвать событие при нажатии клавиш? Также, если есть более простой способ сделать это или проект с открытым исходным кодом, который предоставляет функциональность, это будет приветствоваться.

Изменение выбора для изменения состояния, когда "выделение текста ", (msdn.microsoft.com/en-us/library/...) ищи что-то вродеKeyUp ","KeyDown» или же "Нажатие клавиши"хотя быстрый поиск не сделалничего не принесу. Phil Price
@PhilPrice, ответ говорит о том, что прямого нетKeyUp» или же "KeyDown» событие, которое может быть доступно из визуальной студии. Я'м с помощьюSelectionChange» событие как обходной путь. Если я могу вызвать его, я могу захватить символ на курсоре. Кстати, он уже может быть запущен с помощью клавиш со стрелками. В любом случае спасибо за вклад Yohannes Tamru

Ваш Ответ

1   ответ
5

ноЭто обходной путь.

Я реализовал проверку клавиатуры с помощью статьи, приведенной ниже:

http://www.switchonthecode.com/tutorials/winforms-accessing-mouse-and-keyboard-state

Это дает вам статический метод с именем IsKeyDown, реализация и вызов делегата, на который вы можете подписаться, должны быть достаточно простыми.

я не уверен, я нене использовать его для добавления слова :) Soeholm
Вот's копия мертвой ссылки:web.archive.org/web/20121102085806/http://... Sabuncu
@Soeholm Ссылка, которую вы предоставили, теперь мертва. Jared
+1 Спасибо за этот ответ. Я думаю об использовании этого подхода. Надежен ли реализованный вами код? Я имею в виду, мешает ли Office / Word мешать его работе? Спасибо' Sabuncu

Похожие вопросы