C# и IME - получение текущего входного текста

Я использую японский IME в качестве примера, но это - вероятно, то же на других языках, которые используют IME для входа.

Когда пользователь вводит текст в текстовое поле с помощью IME, события KeyDown и KeyUp запущены. Однако TextBox. Текстовое свойство не возвращает напечатанный текст, пока пользователь не проверил вход в IME использование клавиши Enter.

Так, например, если пользователь вводит 5 раз あ, затем проверяет, я получу 5 keydown/keyup событий с каждым разом TextBox. Текстовый возврат "" (пустая строка) и в конце я получу keydown/keyup для клавиши Enter и TextBox. Текст непосредственно станет "あああああ".

Как я могу получить ввод данных пользователем, в то время как пользователь вводит, прежде чем пользователь проверяет в конце?

(Я знаю, как сделать это в JavaScript на поле <input> на веб-странице, таким образом, это должно быть возможно в C#!)

5
задан Makoto 29 April 2012 в 18:31
поделиться