none
RichTextBox中第三方输入法的问题 RRS feed

  • 问题

  • 1.WPF框架下使用RichTextBox控件,将图像复制到RichTextBox,这时使用Windows10自带的五笔输入法输入字符,

    2.接着直接崩溃,也无法捕捉到这个异常进行处理。

    这个问题困扰着我,但是遗憾我并没有什么好的解决方法,尝试在复制图像后添加段落,虽然输入不会崩溃了,但是点击 图像时还是会崩溃。确定不是我项目的原因,因为我新建了一个空项目,窗体中只添加了RichTextBox,也复现了这样的情况。


    4.另外。在启用第三输入法时无法监听获得用户输入的是什么键(返回的都是ImeProcessed)。


    我采用的方式是利用TextChanged事件,判断当前文本和undo之后的文本,得出用户输入的字符。但是这样写繁琐,且容易出问题和效率很低。

    由于未验证帐户,所以不能发图片链接。

    2019年8月13日 2:23

全部回复

  • Hi  Zhi_MN,

    >> 1.WPF框架下使用RichTextBox控件,将图像复制到RichTextBox,这时使用Windows10自带的五笔输入法输入字符,

    2.接着直接崩溃,也无法捕捉到这个异常进行处理。

    我尝试插入一个图片,切换输入法和点击图片,并没有崩溃。

        Paragraph para = new Paragraph();
                para.Inlines.Add("S111 ");
    
                BitmapImage bitmap = new BitmapImage(new Uri(@"D:\images\image001.PNG"));
                Image image = new Image();
                image.Source = bitmap;
                image.Width = 120;
                para.Inlines.Add(image);
    
                para.Inlines.Add("  text  ");
                FlowDocument.Blocks.Add(para);

    >>4.另外。在启用第三输入法时无法监听获得用户输入的是什么键(返回的都是ImeProcessed)。

    不是很清楚第三方的输入法的机制。


    Best regards

    Yong Lu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年8月13日 8:14
    版主
  • 你好,非常感谢你的回复。

    1.出现崩溃的操作过程并不是直接将图像以控件加入到流文档中,而是直接从内存中的图像拷贝到富文本中,如

               screenShotImage = new Bitmap(rect.Width, rect.Height)


                    //将Bitmap图像拷贝到系统剪切板中
                    Clipboard.SetImage(screenShotImage);
               

     或者,如果有使用微信的话,用微信截图后,截取的图像会保存到剪切板中也是一样。

    2.这时再粘贴(Ctrl+V)到富文本框中。

    3.图像粘贴到富文本框后,启用Window自带五笔输入法进行输入可复现崩溃错误。

    另外 ,用Windows自带的微软五笔输入法同样无法获取用户输入的Key,用KeyUp、KeyDown之类的事件监听,然后调用e.Key得到的值一直是ImProcessed.







    • 已编辑 Zhi_MN 2019年8月17日 4:27
    2019年8月17日 1:11

  • Hi   Zhi_MN,

    我建议你可以再 Developer Community 的NET 模块中提出你的现象。 


    Best regards

    Yong Lu

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2019年8月19日 6:51
    版主