Every day I get from 1 to 10 emails asking me various VB questions… some I answer by pointing to a link, some by providing code, and sometimes I just point people to the newsgroups or forums that exist for this type of question… but this time I thought I’d just post the question and answer into my blog …
The Question (edited slightly):
I just want to ask how to make the string in to proper format.. ex… input: gerald
this must be the output: Gerald
and i want it to interactively change when i’m inputing a string in a textbox..
And the answer is to put this code into the TextChanged event of your textbox;
Dim ci As Globalization.CultureInfo = _
System.Threading.Thread.CurrentThread.CurrentCulture
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles TextBox1.TextChanged
Dim pos As Integer = TextBox1.SelectionStart
TextBox1.Text = ci.TextInfo.ToTitleCase(TextBox1.Text)
If pos > 0 AndAlso pos <= TextBox1.Text.Length Then
TextBox1.SelectionStart = pos
End If
End Sub
The key is that the CultureInfo class provides a TextInfo instance, which in turn has a method of ToTitleCase on it… This KB article provides more info and also shows an alternate method to achieve the same results (StrConv()).