我在Win窗体和WPF窗体中都尝试过相同的东西,似乎这只发生在Win Form中。 基本上发生的事情是我在Win Form中有一个RTB控件,还有两个按钮: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错误,有人有任何想法吗?
答案 0 :(得分:0)
我可以解决的唯一解决方案是在更改RTB控件的RightToLeft属性并添加Application.Doevents()时重置文本。
像这样:
private void buttonRTL_Click(object sender, EventArgs e)
{
string txtRTF = RichTextBox1.Rtf;
RichTextBox1.Clear();
RichTextBox1.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
Application.DoEvents();
RichTextBox1.Rtf = txtRTF;
}