C#中RichTextBox内容的滚屏效果实现
1.设置原理:这里借助移动超出panel边界的组件将会被隐藏的特性。实现C#RichTextBox循环滚屏的功能。现在可以看一下效果:
2.首先,实现滚屏效果,至少需要三个组件:timer1,panel1和richTetxBox1。将richTetxBox1放入panel1上。并且在richTetxBox1中添加好要展示的文本内容(也可以在写字板中编辑好后直接拷贝使用)。
3.其次,需要借助定时器来实现内容的持续滚动。时间上讲,定时间隔时间越短,执行的每次移动距离越小,最终效果越平滑。代码如下:
public Form1()
{
InitializeComponent();
richTextBox1.Location = this.panel1.Location;//设置richTextBox1与外层panel1起始位置一致
richTextBox1.Width = this.panel1.Width;//设置richTextBox1与外层panel1宽度一直
richTextBox1.Height = 1500;
//设置richTextBox1的高度,此处需要估算出完全展示完滚动内容的richTextBox1高度
Timer myTimer = new Timer();//创建定时器
myTimer.Interval = 50;//间隔时间是以毫秒为单位的
myTimer.Tag = richTextBox1;//该属性用于传递要移动的对象(此处可以不要)
myTimer.Start();//启动定时器
myTimer.Tick += myTimerTest_Tick;
}
private void myTimerTest_Tick(object sender, EventArgs e)
{
richTextBox1.Top = richTextBox1.Top - 2;//向上移动2
if (richTextBox1.Bottom <0)
{
richTextBox1.Top = this.Height;
//当richTextBox1底部移动出panel1的上边沿时,保证richTextBox1从panel1下边沿出现
}
}
至此,RichTextBox循环滚屏效果已经实现。