日期:2014-05-17  浏览次数:21323 次

Winform下使文本框中输入字母一直是大写
如果是Textbox,使用CharacterCasing属性可以设置
但我用的是DevExpress的文本框(TextEdit)控件

我在文本变化事件里写
txt1.Text = txt1.Text.ToUpper();
结果不管用,但调试看txt1.Text.ToUpper()确实已经是大写了。是不是文本变成大写后又触发此事件导致的?应该如何解决。Winform自带文本框下会解决,我问的是TextEdit控件。

------解决方案--------------------
bool b = false;

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
    if (!b)
    {
        e.Handled = true;
        b = true;
        SendKeys.Send(e.KeyChar.ToString().ToUpper());
        Application.DoEvents();
        b = false;
    }
}

------解决方案--------------------
在TextEdit的属性Properties-CharacterCasing
顺便说,Dev控件的很多属性都在Properties下面,展开就是另一个世界