当文本框更改后,如何在文本框中的空格后将第一个字符串从低到高更改?
我正在使用WPF和C#代码。
例如,当我输入文本框“new textbox string”时,textbox中的字符串必须自动更改为“New Textbox String”
由于
答案 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?"