Свойство MaxLength для пользователей Visual Basic 6.0
Обновлен: Ноябрь 2007
В Visual Basic 6.0 свойство MaxLength элемента управления TextBox полностью контролирует длину строки, которая может быть введена в текстовое поле или отображена в нем. Хотя программно можно вводить более длинные строки, они автоматически укорачиваются до длины, установленной свойством MaxLength.
В Visual Basic 2008 длина строки, введенной программно, переопределяет значение свойства MaxLength.
В следующем примере кода демонстрируется разница в поведении:
' Visual Basic 6.0
Text1.MaxLength = 5
Text1.Text = "Longer than five"
MsgBox Text1.Text ' Displays "Longe".
' Visual Basic
Text1.MaxLength = 5
Text1.Text = "Longer than five"
MsgBox(Text1.Text) ' Displays "Longer than five".
Дальнейшие действия
Необходимо просмотреть проект приложения, чтобы определить, было ли запланированным такое поведение, при котором длина текста в текстовом поле всегда должна ограничиваться значением свойства MaxLength.
Если такое поведение было запланировано, нужно найти все вхождения кода, в котором устанавливается значение свойства Text, и добавить код для укорачивания строки, по аналогии со следующим примером:
' Old code Text1.Text = SomeString ' Replacement code If Len(SomeString) > Text1.MaxLength Then SomeString = Microsoft.VisualBasic.Left(SomeString, Text1.MaxLength) End If Text1.Text = SomeString
Если такое поведение не было запланировано, необходимо оставить код в исходном виде. Пользователь все еще будет ограничен значением MaxLength, но программно можно присваивать строки длиннее значения параметра MaxLength.
См. также
Основные понятия
Элемент управления TextBox для пользователей Visual Basic 6.0