'禁用'C#中TextBox的MaxLength属性

时间:2011-11-11 17:50:53

标签: c# winforms

我目前正在开发一个Windows窗体应用程序,我需要一个TextBox,它不会将输入大小限制为Int32.MaxValue

问题是MaxLengthInt32上的TextBox属性,我当然无法设置一个大于其值的数字。

理想情况下,我不想设置任何数字并完全“禁用”此项检查。

我有没有办法让TextBox不限制输入大小?

2 个答案:

答案 0 :(得分:11)

将其设为零

  

Windows NT 4.0,Windows 2000,Windows 2000 Professional,Windows 2000   服务器,Windows 2000 Advanced Server,Windows XP Home Edition,Windows   XP专业版x64版,Windows Server 2003平台注意:如果是   MaxLength属性设置为0,最大字符数   用户可以输入的是2147483646或基于可用内存的金额,   以较小者为准。

     

Windows Millennium Edition Platform注意:如果MaxLength属性为   设置为0,用户可以输入的最大字符数   32,766或基于可用内存的金额,以较小者为准。

来自:http://msdn.microsoft.com/en-us/library/system.windows.forms.textboxbase.maxlength.aspx

<小时/> 编辑Windows窗体

答案 1 :(得分:5)

int.MaxValue的限制无论如何都是无法达到的限制。您将无法创建近乎那么长的字符串。换句话说,如果确实需要超过2个 31 字符,则问题比TextBox.MaxLength更大。

如果您认为在单个GUI控件中拥有超过2GB的ASCII文本文件实际上是一种可用的体验,我能问一下吗?如果您正在寻找可以处理大文件的全文编辑器,您可能不希望使用TextBox来开始......

编辑:我实际上认为你可能想要设置一个比通过测试确定的int.MaxValue 更小的限制 - 因为你的系统的其他部分很可能会失败接近这个限制。如果你愿意,找出真正的限制,但我保证它会低于int.MaxValue ......