从空格更改字符串upper

时间:2012-11-27 19:54:05

标签: c#

当文本框更改后,如何在文本框中的空格后将第一个字符串从低到高更改?

我正在使用WPF和C#代码。

例如,当我输入文本框“new textbox string”时,textbox中的字符串必须自动更改为“New Textbox String”

由于

2 个答案:

答案 0 :(得分:2)

你需要一个文本框改变事件的事件处理程序(不确定这是WinForms,WPF还是其他)。

在该事件处理程序中,您可以遍历字符串中的每个字符位置,将每个字符添加到新的StringBuilder中。如果给定索引处的字符是空格(使用String.IsNullOrWhiteSpace()),请设置一个标记,您需要将下一个字母字符大写。

如果您点击了字母字符,并且设置了上一个标志,请复制该字符的大写等效项(使用String.ToUpper())并清除该标记。

将文本框的内容设置为myStringBuilder.ToString()。

根据相关的UI框架,它可能会生成一个新的文本更改事件,您需要忽略它以避免无限递归。

答案 1 :(得分:2)

您可以处理TextChanged事件。然后,您可以使用TextInfo ToTitleCase函数将每个单词的第一个字符转换为大写字母。

System.Globalization.TextInfo en_text_info = 
   new System.Globalization.CultureInfo("en-US", false).TextInfo;
textBox1.Text = en_text_info.ToTitleCase(textBox1.Text);

这会将"hi thEre how R yOu dOINg?"转换为"Hi There How R You Doing?"