【问题标题】:Always in upper case... (C# winforms)总是大写... (C# winforms)
【发布时间】:2010-09-09 01:59:14
【问题描述】:

我的表单中有一个TextBox,我在上面添加了这个事件:

private void txtValue_KeyDown(object sender, KeyEventArgs e)
        {
            MessageBox.Show(e.KeyData.ToString());
        }

但它总是打印字母的大写字母,即使我在文本框中输入了小写字母。请看下图:

我应该如何获得正确的显示?谢谢...

【问题讨论】:

  • 还应该有一个属性显示是否按下了shift键

标签: c# key-events


【解决方案1】:

KeyDownKeyUp 使用KeyEventArgs,它通过KeyData 属性公开Keys 枚举。枚举没有小写字母值的表示。

http://msdn.microsoft.com/en-us/library/system.windows.forms.keys.aspx

KeyPress 事件允许您通过KeyPressEventArgs.KeyChar 获取按下的键的实际字符。

private void txtValue_KeyPress(object sender, KeyPressEventArgs e)
{
    MessageBox.Show(e.KeyChar.ToString());
} 

【讨论】:

    【解决方案2】:

    如果您改为处理KeyPress 事件,则可以检查KeyPressEventArgsKeyChar 属性以获取正确的大小写。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      相关资源
      最近更新 更多