C#中RichTextBox内容的滚屏效果实现

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37691186/article/details/81411485

1.设置原理:这里借助移动超出panel边界的组件将会被隐藏的特性。实现C#RichTextBox循环滚屏的功能。现在可以看一下效果:

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循环滚屏效果已经实现。

C#中RichTextBox内容的滚屏效果实现

展开阅读全文

没有更多推荐了,返回首页