Xn.U 2017-09-03 03:37 采纳率: 100%
浏览 5033
已采纳

C#中的RichTextBox的内容刷新问题

据我所知,类似QQ、绝大多数的聊天程序的聊天界面的聊天记录显示框都采用了这样的策略:自动接收最新消息并且focus最后一行,也就是将最新消息加到原本最后一行的后面,同时将滚动条滚动到最后一行来显示聊天历史。我最近试着编写了一个类似于QQ的即时通讯程序(属于自学之后的一次小实践吧),聊天记录显示框用的RichTextBox控件(以下简称RTB)。刚开始做这个都的时候只是为了发送文本消息,后来想让其发送图片,方案为RTB+ClipBoard,但是在消息刷新的时候遇到了一个问题。
先说一下刷新消息的方式:
richTextBox1.SelectLenth=richTextBox.TextLengh;
richTextBox1.ScrollToCaret();
原来只显示文本的时候RTB可以瞬间刷新,直接跳转到最后一行;后来加入了图片之后,当RTB中的内容达到一定长度时(出现滚动条),再发图片就会出现刷新延迟。也就是说,接收消息或者发送消息的时候,我得让RTB在添加完了内容之后,滚动条直接跳到最后一行,可是现实是这样的:滚动条从第一行滚动到最后一行,而且速度还挺慢。(这里补充下,虽然本人电脑配置不高,但这应该不是电脑配置问题,因为QQ等类似软件没有出现过这种情况。而且,若是第一次加载则不存在这样的现象)
这里我想问下,大家有没有遇到过类似的情况?
还请大神指点指点初入此门的本渣,本渣以前都是百度来百度去的也没怎么问过人,这次是第一次在CSDN上发帖,故C币也不多(大多拿去下载资源了),故给的C币也多不到哪去,为的只是弄清一个缠绕我很久的问题,同时也能方便大家借鉴学习,共勉!谢谢了各位!

  • 写回答

5条回答 默认 最新

  • Xn.U 2017-09-03 10:46
    关注

    找到一个解决方案,之前没有将上面两行代码写在事件中,可能这就是原因。CSDN的APP上搜索到的http://m.blog.csdn.net/kongjibo/article/details/51595060

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥40 求一款能支持ios15以上的屏蔽越狱插件。比较好用的
  • ¥15 C++ QT对比内存字符(形式不定)
  • ¥30 C++第三方库libiconv 远程安装协助
  • ¥15 https://github.com/youlaitech/vue3-element-admin/blob/master/src/store/modules/user.ts 这2句代码如何理解
  • ¥15 duilib开发文本字串超过长度显示
  • ¥20 mysql的.ibd文件为啥那么多
  • ¥15 C++中采用栈和BFS算法求解迷宫问题
  • ¥15 关于#java#的问题:这是跳转失败出现的界面这是哪个出现问题的servlet(开发工具-ide)
  • ¥15 EBS R12费用采购跨月冲销
  • ¥15 python中用mplfinance如何做到多股同列?