6

今天发现TextBox.Text有个奇怪的问题,如果字符串长度太大,文本框看起来像空的,但实际上我仍然可以选择/复制/粘贴,只是看不到字符。

我写了一个小winform来测试,发现如果字符串长度超过5460就会出现问题。

我正在使用Win7 64,VS2010。我知道在单行文本框中显示这么大的字符串是没有意义的,但我想知道根本原因。

而且我还注意到在Win2008中没有发生这种情况,即使在Win7中,当我使用屏幕录像机时,问题也消失了!太奇怪了!

4

2 回答 2

0

您可以制作一个 if-checker,它接受一个字符串,检查字符串是否超过允许的长度。然后,您可以在字符串上运行一个函数,该函数返回一个缩减为所需长度的字符串,最后可能带有 .. 以表明它已被缩短。也许是这样的:

public string Truncate(string source, int length)
{
    if (source.Length > length) 
    {
            source = source.Substring(0, length -2); //-2 because of the ".."
            source += "..";
    }
    return source;
}
于 2015-03-26T14:37:53.893 回答
0

我遇到了同样的错误,设置多行为真解决了它。你可以试试这个

<TextBox>.Multiline = true;
于 2015-05-13T14:50:07.370 回答