传递给DevExpress TextEdit控件时,String.ToUpper不会对字符串进行大写

时间:2014-01-21 11:58:28

标签: c# .net devexpress

有人可以解释为什么第一个代码块不起作用而第二个代码块不起作用。在第一个示例中,当控件失去焦点时,字符串不会被capizalized。

不工作(不大写):

private void nameTextEdit_Leave(object sender, EventArgs e)
{
    if(Properties.Settings.Default.capitalizeCustomer != false)
    {
        string userEnteredString = nameTextEdit.EditValue.ToString();
        string capitalizedString = userEnteredString.ToUpper();
        nameTextEdit.EditValue = capitalizedString;
    }
}

工作正常(当控件丢失焦点文本大写时):

private void nameTextEdit_Leave(object sender, EventArgs e)
{
    if(Properties.Settings.Default.capitalizeCustomer != false)
    {
        string userEnteredString = nameTextEdit.EditValue.ToString();
        nameTextEdit.EditValue = userEnteredString.ToUpper();
    }
} 

2 个答案:

答案 0 :(得分:0)

这很奇怪,两个例子应该具有相同的效果。

我最好的猜测是你不小心做了

nameTextEdit.EditValue = userEnteredString;

而不是:

nameTextEdit.EditValue = capitalizedString;

答案 1 :(得分:0)

为什么不简单地将CharacterCasing属性设置为Upper并从一开始就防止小写?