-5

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

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

例如,当我在文本框中输入“新文本框字符串”时,文本框中的字符串必须自动更改为“新文本框字符串”

谢谢

4

2 回答 2

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?"

于 2012-11-27T20:19:59.740 回答
2

您需要文本框更改事件的事件处理程序(不确定这是 WinForms、WPF 还是其他)。

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

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

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

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

于 2012-11-27T19:57:55.390 回答