在CurrentItemChanged上将textBox的内容设置为大写

时间:2009-03-05 14:53:24

标签: c# .net visual-studio textbox

我希望每当触发currentItemChanged时,我的textBox中的文本都会设置为大写。换句话说,每当框中的文本发生变化时,我都希望将内容设置为大写。这是我的代码:

private void rootBindingSource_CurrentItemChanged(object sender, System.EventArgs e)
{
    toUserTextBox.Text.ToUpper();
    readWriteAuthorization1.ResetControlAuthorization();
}

事件触发肯定,我已经使用messageBox进行了测试。所以我知道我在这里做错了......问题是什么。

3 个答案:

答案 0 :(得分:24)

如果您只需将输入强制为大写,请尝试文本框的CharacterCasing属性。

toUserTextBox.CharacterCasing = CharacterCasing.Upper;

答案 1 :(得分:5)

字符串是不可变的。 ToUpper()返回一个新字符串。试试这个:

private void rootBindingSource_CurrentItemChanged(object sender, System.EventArgs e)
{
    toUserTextBox.Text = toUserTextBox.Text.ToUpper();
    readWriteAuthorization1.ResetControlAuthorization();
}

答案 2 :(得分:3)

我想你的问题是为什么你的代码无效。

您没有再次将“Uppered”文本分配给文本框。

应该是:

private void rootBindingSource_CurrentItemChanged(object sender, System.EventArgs e)
{
    toUserTextBox.Text = toUserTextBox.Text.ToUpper();
    readWriteAuthorization1.ResetControlAuthorization();
}