C# 实现richtextbox 文字自动滚动 首尾相接循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 实现richtextbox 文字自动滚动 首尾相接循环相关的知识,希望对你有一定的参考价值。

最好能给出代码,给出实例,
亲,上面小视频是个例子,可以打开看,不过要等10秒才会滚动,我想要的就是这样的效果,内容要循环滚动 不分头尾

亲,我想要滚动的效果,隔10秒滚动一下,向下滚动,但是没有滚动条的,也看不出是头还是尾还是中间,一直循环滚动,滚动的时候眼睛是能看出来是向下滚动的,不要闪屏。。

        private void timer1_Tick(object sender, EventArgs e)
        
            this.richTextBox1.Text = this.richTextBox1.Text.Substring(1) + this.richTextBox1.Text[0];
        
        //加一个timer组件。

追问

亲,我想要滚动的效果,隔10秒滚动一下,向下滚动,但是没有滚动条的,也看不出是头还是尾还是中间,一直循环滚动,滚动的时候眼睛是能看出来是向下滚动的,不要闪屏。。

追答

你说的是不是类似于歌词的那种?

private void timer1_Tick(object sender, EventArgs e)

var text = this.richTextBox1.Text;
var i = text.IndexOf("\n");
var s1 = text.Substring(i + 1);
var s2 = text.Substring(0, i);
this.richTextBox1.Text = s1 + '\n' + s2;

追问

是的

但是要收尾循环

追答

这段代码你试过吗,是你想要的效果吗

参考技术A private void timer1_Tick(object sender, EventArgs e)

string text = textBox1.Text;
string text1 = text.Substring(1);
string text2 = text1 + text[0];
textBox1.Text = text2;


弄一个时间控件,不停的改变文本值就行。。。。。希望楼主采纳我的答案追问

亲,我想要滚动的效果,隔10秒滚动一下,向下滚动,但是没有滚动条的,也看不出是头还是尾还是中间,一直循环滚动,滚动的时候眼睛是能看出来是向下滚动的,不要闪屏。。

C#,RichTextBox:如何实现逐行滚动?

【中文标题】C#,RichTextBox:如何实现逐行滚动?【英文标题】:C#, RichTextBox: how to implement scrolling line by line? 【发布时间】:2009-12-01 07:40:30 【问题描述】:

我的 C# 应用程序中有一个 RichTextBox。启用水平和垂直滚动。

当前行为: 当我到达可见文本区域的最后一行时,就会出现水平滚动。但是滚动是按像素进行的,而不是按行。所以我看不到我正在输入的文本,因为该行本身部分(或完全)不可见,直到我使用箭头按钮进行垂直滚动或拖动垂直滚动条。

预期行为: 我想让 RichTextBox 滚动类似于在记事本中滚动。在记事本中,我总是看到我正在输入的行。基于行的滚动非常流畅。

有什么想法吗? RichTextBox 中的一些隐式设置?还要别的吗? 谢谢,

【问题讨论】:

【参考方案1】:

向 TextChanged 事件添加事件处理程序,并以编程方式向下滚动 签出:this post at bytes.com

【讨论】:

阿列克谢,感谢您的回答。嗯,好像没看懂。在 MSDN 中:此事件支持 .NET Framework 基础结构,不打算直接从您的代码中使用。你能给我一些线索吗? Alexey,我从 bytes.com 复制粘贴了示例并成功运行。但是还是有同样的毛病:走到最后一行的时候,只能看到一半…… 对于第一条评论 - msdn.microsoft.com/en-us/library/… 对于第二条评论 - 尝试使用传递给 SendMessage 方法的参数 (max -richTextBox1.Height)... Alexey,谢谢,我会尝试使用它。顺便说一句,很奇怪,对于这样一个常见的任务没有最佳实践解决方案...... 嘿,我找到了另一种解决方案。您可以在 Panel 上放置 RichTextBox 并指定 Padding。这是完整的故事:msdn.microsoft.com/en-us/library/ms229728.aspx 它有效!我试过了,对结果很满意。一石二鸟:美观的填充和平滑的滚动。希望它可以帮助别人。

以上是关于C# 实现richtextbox 文字自动滚动 首尾相接循环的主要内容,如果未能解决你的问题,请参考以下文章

C#,RichTextBox:如何实现逐行滚动?

禁用 RichTextBox 中的滚动(c#)

C#超简单方法实现两个richtextbox控件滚动条同步滚动

C#如何改变richTextBox中文字的颜色和大小

C#中,如何让richTextBox旁边的滚动条始终处于最下方

在C#的RichTextBox中如何使特定文字显示颜色