«Отключение» свойства MaxLength TextBox в C # - PullRequest
3 голосов
/ 11 ноября 2011

Я сейчас работаю над приложением Windows Forms, и мне нужно иметь TextBox, который не ограничивает размер ввода до Int32.MaxValue.

Проблема в том, что MaxLength - это свойство Int32 для TextBox, и я, конечно, не могу установить число, которое больше этого значения, в качестве его значения.

В идеале я вообще не хочу устанавливать какое-либо число и полностью «отключить» эту проверку.

Есть ли способ получить TextBox, который не ограничивает размер ввода?

Ответы [ 2 ]

11 голосов
/ 11 ноября 2011

Установите его на ноль

Windows NT 4.0, Windows 2000, Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server, Windows XP Home Edition, Windows XP Professional x 64 Edition, Windows Server 2003Примечание платформы: если для свойства MaxLength установлено значение 0, максимальное количество символов, которое пользователь может ввести, составляет 2147483646 или количество, основанное на доступной памяти, в зависимости от того, что меньше.

Примечание для платформы Windows Millennium Editionдля свойства установлено значение 0, максимальное количество символов, которое пользователь может ввести, составляет 32 766 или количество зависит от доступной памяти, в зависимости от того, что меньше.

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

РЕДАКТИРОВАТЬ для окон формы

5 голосов
/ 11 ноября 2011

Предел int.MaxValue в любом случае недоступен. Вы не сможете создать строку почти так долго. Другими словами, если вам действительно нужно более 2 31 символов, у вас проблемы больше, чем TextBox.MaxLength.

Могу ли я спросить, когда вы думаете, что было бы полезно использовать текстовый файл ASCII объемом более 2 ГБ в одном элементе управления GUI? Если вы хотите написать полнотекстовый редактор, который может обрабатывать большие файлы, вы, вероятно, не хотите использовать TextBox для начала с ...

РЕДАКТИРОВАТЬ: Я бы на самом деле утверждал, что вы, вероятно, хотите установить предел меньший , чем int.MaxValue, определенный путем тестирования - вероятно, что другие биты вашей системы потерпят неудачу, прежде чем вы приблизитесь к этот предел. Поймите, какой реальный лимит, если хотите, но я гарантирую, что он будет ниже, чем int.MaxValue ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...