【发布时间】:2014-11-14 15:47:43
【问题描述】:
我在 Win 表单和 WPF 表单中都尝试过同样的事情,似乎这只发生在 Win Form 中。 基本上发生的事情是我在 Win Form 中有一个 RTB 控件,以及 2 个按钮:RTL 和 LTR 来调整对齐方式。
按钮 1 被点击:
richTextBox1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
按钮 2 被点击:
richTextBox1.RightToLeft = System.Windows.Forms.RightToLeft.No;
这就是我的全部。当我将文本粘贴到 RTB 中并单击 RTL 按钮时,它在 RTB 中留下了很大的空白。我注意到只有在滚动条出现时才会发生这种情况。如果你调整表格的大小,差距就会消失。
查看截图链接: screenshot of the issue
我尽我所能,但不知道为什么会这样。我怀疑这是一个 .NET 错误,有人知道吗?
【问题讨论】:
-
只是一个想法:您是否在设置 .RightToLeft 属性后尝试刷新 rtb?设置后在 RTB 上执行 .Refresh() 看看是否有帮助。
-
感谢您的回复。是的,我确实尝试过 Refresh(),但没有帮助。
-
大差距究竟出现在哪里?可以贴一下截图吗?
-
好的,只需在粘贴内容后使用 RTB.ScrollToCaret()。它固定在我的应用程序上。
-
谢谢,我尝试了以下方法:但它仍然无法正常工作,在您的情况下 RTB 是richTextBox 实例吗? private void RTL_Click(object sender, EventArgs e) { richTextBox1.RightToLeft = System.Windows.Forms.RightToLeft.Yes; richTextBox1.ScrollToCaret(); }
标签: c# winforms richtextbox right-to-left