【问题标题】:Setting the contents of a textBox to upper-case on CurrentItemChanged在 CurrentItemChanged 上将文本框的内容设置为大写
【发布时间】:2009-03-05 14:53:24
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# .net visual-studio textbox


    【解决方案1】:

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

    toUserTextBox.CharacterCasing = CharacterCasing.Upper;
    

    【讨论】:

    • 除非您特别需要在该事件中处理其他内容,否则您可以通过该文本框的属性菜单进行设置。也是。
    【解决方案2】:

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

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

    【讨论】:

    • 宾果游戏。您不能只调用字符串上的函数而不重新分配它。
    • 大声笑...我会把它归咎于疲劳:P
    【解决方案3】:

    我想你的问题是为什么你的代码不起作用。

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

    应该是:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2012-06-21
      • 2016-11-11
      • 1970-01-01
      • 2014-11-09
      • 1970-01-01
      • 2012-06-15
      相关资源
      最近更新 更多