This post originated from an RSS feed registered with .NET Buzz
by Duncan Mackenzie.
Original Post: The email I get...
Feed Title: Code/Tea/Etc...
Feed URL: /msdnerror.htm?aspxerrorpath=/duncanma/rss.aspx
Feed Description: Duncan is the Visual Basic Content Strategist at MSDN, the editor of the Visual Basic Developer Center (http://msdn.microsoft.com/vbasic), and the author of the "Coding 4 Fun" column on MSDN (http://msdn.microsoft.com/vbasic/using/columns/code4fun/default.aspx). While typically Visual Basic focused, his blogs sometimes wanders off of the technical path and into various musing of his troubled mind.
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 CultureInfoclass provides a TextInfoinstance, 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()).