2012-04-28 204 views
5

今天我发现TextBox.Text存在一个奇怪的问题,如果字符串长度太大,文本框看起来像是空的,但实际上我仍然可以选择/复制/粘贴,只是可以'不要看人物。Winform TextBox无法显示文本

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

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

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

+1

我的摄制。脱字符号仍然有效,但是文字是隐藏的。这是一个Windows错误。 – 2012-04-28 11:52:01

+2

我也遇到了这个 - 有没有人有一个链接确认这是一个实际的Windows错误? – Tim 2013-04-03 21:27:58

+1

我有同样的问题(Win7 x64)。不仅文本不可见,另一个问题是Text属性返回截断的文本! – user1068352 2013-08-23 17:17:23

回答

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; 
} 
0

我得到同样的错误,并设置多真正解决it.You可以试试这个

<TextBox>.Multiline = true;