我正在使用下面的代码在背景中的TextBox中插入一些文本,同时当用户在其中键入时。 这种方法在Windows 7之前运行得非常好,即使在使用亚洲语言输入法时,MS日语IME和谷歌日语IME也是如此。
private void InsertText(int pos, string text)
{
textbox.Select(pos, 0);
textbox.SelectedText = text;
}
但是,在Windows 8中,使用Google Japanese IME时,TextBox.Select()在调用后不会立即生效。 上面的SelectedText在发布UI线程之前没有指向pos的位置。
有谁知道如何解决这个问题?
P.S。 MS IME在Win8中运行良好,但是在调用上述方法时取消了日语输入候选。