正 文:

C#中经常用到RichTextBox控件,用于显示数据,那么如果在写入数据后,让RichTextBox始终得到焦点或让RichTextBox始终显示最下方的最新数据呢?

以前飘易一般用到的方法是使用 Focus 先获取焦点,然后 Select 方法,滚动到最下方,这样效率不免低下,而且多写代码:

richTextBox1.Focus() ;

richTextBox1.Select(richTextBox1.Text.Length, 0);

参考这样的自动滚动到最下方的事件函数:

private void richTextBox1_TextChanged(object sender, EventArgs e)

{//滚动到最下方

if (richTextBox1.Lines.Length > 8000)

{

int n = 3000;

int start = richTextBox1.GetFirstCharIndexFromLine(0);//第一行第一个字符的索引

int end = richTextBox1.GetFirstCharIndexFromLine(n);//第n行第一个字符的索引

richTextBox1.Select(start, end);//选中N行

richTextBox1.SelectedText = "";//设置前N行的内容为空

}

richTextBox1.Focus() ;

richTextBox1.Select(richTextBox1.Text.Length, 0);

}

实际上有更简单的方法,用 RichTextBox.AppendText 方法追加数据后,只要再设置 RichTextBox 的 HideSelection 属性为 false 即可。

RichTextBox.HideSelection 属性是继承自 TextBoxBase:

“Gets or sets a value indicating whether the selected text in the text box control remains highlighted when the control loses focus.”

当RichTextBox.HideSelection值为

true, the selected text does not appear highlighted when the text box control loses focus;

false, the selected text remains highlighted when the text box control loses focus.

The default is true.

意思就是,当RichTextBox.HideSelection为flase时,无论 RichTextBox 是否获取焦点,RichTextBox控件都将被重点强调并显示,相当于始终有焦点的效果,这样就实现了 RichTextBox.AppendText 追加数据后,自动滚动到最下方的效果了。

c# richtextbox 输出html,C#向RichTextBox写入数据并始终显示在最下方相关推荐

  1. printwriter 输出html换行,Java PrintWriter.println()写入数据

    首页 > 基础教程 > IO流 > Writer类 Java PrintWriter.println()写入数据 Java中PrintWriter.println()和write() ...

  2. Log4j输出到控制台顺利,写入文件失败 - Log4j和commons log的整合

    Log4j输出到控制台成功,写入文件失败 - Log4j和commons log的整合 一.今天在使用commongs-logging.jar和log4j.properties来输出系统日志的时候,发 ...

  3. python向mysql中添加数据标签_用python在MySQL中写入数据和添加数据

    在笔者之前的博文中,已介绍了用python连接与mysql数据库的知识.包括如何安装python连接mysql的pymysql包,如何通过cusor语句将python与mysql连接起来,以及如何用p ...

  4. python代码大全p-python处理写入数据代码讲解

    首先要利用python进行读取整个文件,然后逐行读取,最后写入数据.具体实现步骤参考如下: 步骤一.读取整个文件 先在当前目录下创建一个TXT文件,例如文件名为'pi_digits.txt'的文本文件 ...

  5. python读数据-用 Python 的输入输出功能读取和写入数据

    读取.写入和 Python 在 "探索 Python 系列" 以前的文章中,学习了基本的 Python 数据类型和一些容器数据类型,例如 tuple . string 和 list ...

  6. Python之pandas:将dataframe数据写入到xls表格的多个sheet内(防止写入数据循环覆盖sheet表)

    Python之pandas:将dataframe数据写入到xls表格的多个sheet内(防止写入数据循环覆盖sheet表) 目录 将dataframe数据写入到xls表格的多个sheet内(防止写入数 ...

  7. Android 蓝牙4.0(BLE)开发实现对蓝牙的写入数据和读取数据

    由于最近学校组织了一个移动APP(安卓)设计大赛,自己也学习安卓有一段时间了,就跟同学商量一起去参加试试,一拍即合,然后我们就开始想idea,因为最近可穿戴设备比较火,我们也就想试试.经过商量,我负责 ...

  8. android 追加写入数据到文件

    今天,简单讲讲android如何以追加的形式写入数据到文件里. 这个其实也比较简单,不过之前一直没有使用,所以昨天查询了资料,这里记录一下. import java.io.BufferedWriter ...

  9. java response 状态码_response(向客户端写入数据、对相应进行设置(状态码、响应头))...

    一.向客户端写入数据 1.写入文字 protected voiddoGet(HttpServletRequest request, HttpServletResponse response) thro ...

最新文章

  1. java连接Hbase数据库
  2. lighttpd安装及secdownload,fastcgi,proxy配置
  3. python:字典,元组
  4. python docker自动化_自动化 – 自动创建docker容器并启动python脚本
  5. 2016年 第07届 蓝桥杯 Java B组 决赛真题详解及小结
  6. JavaScript实现shortestCommonSupersequence最短公共超序列算法(附完整源码)
  7. 若川的2016年度总结,毕业工作
  8. pythonwrite连续写入_python文件写入write()的操作
  9. css3兼容性问题归纳
  10. https://www.ptc.com/en/industry-insights/state-of-augmented-reality
  11. Linux下安装宋体
  12. matlab 柯西黎曼方程,柯西-黎曼方程
  13. 记住熊三木,一场关于文创产业“复兴十年” 的豪赌
  14. 【日麻雀魂】何切300问 维持最大牌效
  15. 微信小程序如何设计实现
  16. 在vue中使用three.js
  17. Elementary effect
  18. sql包含怎么写_实习生简历怎么写?都包含哪些内容?
  19. 百度引蜘蛛,秒爬秒收录测试(一)
  20. 已解决: newff()转为jar 调用报错:Layer sizes is not a row vector of positive integers

热门文章

  1. 大数据 之 谜 之 低级bug
  2. 树莓派发送自己ip地址到QQ邮箱
  3. butterfly配置记录
  4. 此HA非彼HA!FusionSphere这两种HA你分清楚了吗?
  5. 谷歌浏览器提示,您目前无法访问,因为此网站使用了HSTS。网络错误和攻击通常是暂时的,因此,此网页稍后可能会恢复
  6. 【vegeshop】一个基于 Flutter 实现的app。用于小型蔬菜店铺采购流水管理
  7. 用友软件V10.1数据库基础环境检测问题解决方案
  8. U盘安装系统,无法识别固态硬盘
  9. win8 系统 myeclipse10.x 破解
  10. 教你如何用FOXMAIL设置GMAIL,HOTMAIL,YAHOO邮箱