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

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

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

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

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

【问题讨论】:

    标签: c# scroll 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 它有效!我试过了,对结果很满意。一石二鸟:美观的填充和平滑的滚动。希望它可以帮助别人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多