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

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条)

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀