当文本框更改时,如何在文本框中的空格后将第一个字符串从低位更改为高位?
我正在使用 WPF 和 C# 代码。
例如,当我在文本框中输入“新文本框字符串”时,文本框中的字符串必须自动更改为“新文本框字符串”
谢谢
当文本框更改时,如何在文本框中的空格后将第一个字符串从低位更改为高位?
我正在使用 WPF 和 C# 代码。
例如,当我在文本框中输入“新文本框字符串”时,文本框中的字符串必须自动更改为“新文本框字符串”
谢谢
您可以处理该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?"
您需要文本框更改事件的事件处理程序(不确定这是 WinForms、WPF 还是其他)。
在该事件处理程序中,您可以遍历字符串中的每个字符位置,将每个字符添加到新的 StringBuilder。如果给定索引处的字符是空格(使用String.IsNullOrWhiteSpace()),请设置一个标志,您需要将下一个字母字符大写。
如果您点击了一个字母字符,并且设置了前一个标志,则复制该字符的大写等效项(使用String.ToUpper())并清除该标志。
将文本框的内容设置为 myStringBuilder.ToString()。
根据所讨论的 UI 框架,它可能会生成一个新的文本更改事件,您需要忽略该事件以避免无限递归。