求不分行显示的设置方法,或单行长度限制的具体原因或属性。
代码很简单,首先设置richtextbox1.wordwarp= false,代码如下:
string all = "";
private void button1_Click(object sender, EventArgs e)
{
string temp = "";
for (int i = 0; i <4096; i++)
{
temp = temp + "D";
}
all = all + temp;
this.richTextBox1.Text = all;
}
如上:如果长度大于4096会自动分多行显示。
不一定是4096,和字体的大小相关。
没有发现有属性可以直接读写这个值。
不过可以借助TextRenderer.MeasureText取得字符串的实际宽度,并设置richTextBox1.RightMargin等于此值。
这样就可以单行显示4096个字符。
richTextBox1.RightMargin =
TextRenderer.MeasureText(all.ToString(), this.richTextBox1.Font).Width;//all就是你代码中的字符串。
这个问题前几天有人问过。因为C#的richtextbox只是对windows的riched32.dll的一个封装,而后者存在限制,所以C#也无可奈何。你可以使用别的控件代替。老外有非常专业的编辑控件,基本上可以代替word了。你可以google下。