Visual Basic 6.0 사용자를 위한 MaxLength 속성
업데이트: 2007년 11월
Visual Basic 6.0에서는 TextBox 컨트롤의 MaxLength 속성으로 텍스트 상자에 입력되거나 표시되는 문자열의 길이를 완벽하게 제어합니다. 프로그래밍 방식으로 더 긴 문자열을 입력할 수 있으나 이 문자열은 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 설정보다 긴 문자열을 할당할 수 있습니다.