‘禁用’C#中TextBox的MaxLength属性

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

问题是MaxLengthTextBox上的Int32属性,我当然不能设置一个大于它的值的数字。

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

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

将其设置为零

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

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

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


编辑Windows窗体

无论如何, int.MaxValue的限制是一个无法访问的限制。 你将无法创建一个差不多长的字符串。 换句话说,如果你真的需要超过2 31个字符,那么你遇到的问题比TextBox.MaxLength更大。

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

编辑:我实际上认为您可能希望设置一个小于 int.MaxValue的限制,通过测试确定 – 在您接近该限制之前,系统的其他位可能会失败。 找出真正的限制,如果你愿意,但我保证它会低于int.MaxValue ……