c# - Winform TextBox无法显示文字

标签 c# winforms string

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

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

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

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

最佳答案

您可以制作一个 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;
}

关于c# - Winform TextBox无法显示文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10361855/

相关文章:

c# - 如果它设置了表单的 AcceptButton,我如何自定义按钮?

c# - 以编程方式切换屏幕后如何使表单居中

Java 字符串乘法

string - 自定义 Asp.net MVC 3 编辑器模板未被使用

c# - Wpf DataGrid SelectedItem 在单元格编辑后失去绑定(bind)

c# - 我如何告诉数据注释验证器也验证复杂的子属性?

c# - CS1501 : No overload for method 'ToString' takes 0 arguments?

c# - 性能计数器和线程

c# - WinForm 中的 OpenID?

c - 为什么存储在整数中的字符串会被打印出来?