One minute
The email I get…
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()
).
Thoughts on this post? Feel free to reach out on Bluesky!