나는 TextBox
으로 텍스트를 입력하여 Sentence Case(ProperCase)
으로 입력하고 싶습니다. 그러나 Lost Focus
또는 KeyPress
과 같은 이벤트에 코드를 쓰고 싶지는 않습니다.대소 문자 또는 대소 문자가있는 텍스트 상자
기본적으로 사용자가 입력하거나 텍스트 상자에 입력 할 때마다 모든 단어의 첫 글자는 자동으로 UpperCase
으로 변환됩니다.
나는 TextBox
으로 텍스트를 입력하여 Sentence Case(ProperCase)
으로 입력하고 싶습니다. 그러나 Lost Focus
또는 KeyPress
과 같은 이벤트에 코드를 쓰고 싶지는 않습니다.대소 문자 또는 대소 문자가있는 텍스트 상자
기본적으로 사용자가 입력하거나 텍스트 상자에 입력 할 때마다 모든 단어의 첫 글자는 자동으로 UpperCase
으로 변환됩니다.
이벤트에서 일부 코드를 삽입하지 않고 WinForms에서이 작업을 수행하는 방법을 모르겠습니다. TextBox의 CharacterCasing
속성을 사용하면 입력 한 모든 문자를 대문자 또는 소문자로 강제로 바꿀 수 있지만 올바른 대문자 소문자는 사용할 수 없습니다. 동일한 코드에 이벤트의 번호를 부착
TextBox1.Text = StrConv(TextBox1.Text, VbStrConv.ProperCase)
보다 일반적인 핸들러를 여러 텍스트 상자를 통해이 작업을 수행하는 것을 포함한다 : 덧붙여, 그것은 단 한 줄의 코드는 이벤트에 그것을 할 수있어
'Attach multiple events to this handler
Private Sub MakeProperCase(sender As Object, e As EventArgs) Handles _
TextBox1.LostFocus, TextBox2.LostFocus, TextBox3.LostFocus
'Get the caller of the method and cast it to a generic textbox
Dim currentTextBox As TextBox = DirectCast(sender, TextBox)
'Set the text of the generic textbox to Proper Case
currentTextBox.Text = StrConv(currentTextBox.Text, VbStrConv.ProperCase)
End Sub
ASP.NET에서 은 일 수 있습니다. without code; text-transform
이라는 CSS 속성이 있는데이 속성의 값 중 하나는 capitalize
입니다. 텍스트 입력 요소에 적용되면 각 단어의 첫 글자를 대문자로 만듭니다.
이 경우 두 개의 컨트롤 (cboDestination 및 txtUser)이 있습니다. 글자를 입력하는 동안 원하는 것을 만들 수 있습니다.
Private Sub properCase_TextChanged(sender As Object, e As System.EventArgs) _
Handles cboDestination.TextChanged, txtUser.TextChanged
Dim n As Integer = sender.SelectionStart
sender.Text = StrConv(sender.Text, VbStrConv.ProperCase)
sender.SelectionStart = n
End Sub
나는 틀릴 수도 있지만 텍스트를 이벤트를 사용하여 입력하고 이에 따라 텍스트를 업데이트하므로 텍스트 상자의 값을 확인하는 것이 유일한 방법이라고 생각합니다. –
Culture Class를 사용하여 시도했지만 처리시 무거울 것이라고 생각합니다. –
Win API 코딩이 있습니다 –