【问题标题】:how to do proper Capitalization validation for textbox如何对文本框进行正确的大写验证
【发布时间】:2016-03-24 06:05:09
【问题描述】:

我现在插入文本作为成员的名称我已经完成了第一个字母大写的一些代码......但问题是当我尝试在其他两个单词之间插入新单词时,光标会移动到最后一个单词的末尾每当我按下键时...

我正在处理以下代码...

CultureInfo cultureInfo = System.Threading.Thread.CurrentThread.CurrentCulture;
TextInfo textInfo = cultureInfo.TextInfo;
tbOwnerName.Text = textInfo.ToTitleCase(tbOwnerName.Text.ToLower());
tbOwnerName.Select(tbOwnerName.Text.Length, 0);

我知道最后一行代码有问题,但我无法弄清楚..所以请帮帮我

【问题讨论】:

  • 我认为你可以用空格作为分隔符分割文本,然后检查每个字符串的第一个字母是否为大写,我更喜欢在 textbox_leave 事件中进行此验证,并在提交时进行另一个验证。

标签: c# winforms


【解决方案1】:

在替换 tbOwnerName.Text 之前,将当前光标位置 tbOwnerName.SelectionStart 存储在一个变量中。然后用 tbOwnerName.Select(lastPosition,0) 替换最后一行。这里发生的事情是替换 Text 会将您的光标带到第一个位置,旧的 Select 可以很好地处理正常的输入(开始到结束),但它不能处理中间的输入。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-27
    • 2017-12-25
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 2023-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多