我想处理字母字符和下划线。如果还按下SHIFT,如何判断键入的字符。目前,移位的字符由ELSE子句处理。
private void txtSearch_KeyUp(object sender, KeyEventArgs e)
{
if (((int)e.KeyData >= 65 && (int)e.KeyData <= 122) ||
(e.KeyData.ToString() == "_"))
{
System.Diagnostics.Debug.WriteLine(e.KeyData);
//char thisChar = char excluding SHIFT, Control
System.Diagnostics.Debug.WriteLine("Process " + thisChar);
}
else
{
System.Diagnostics.Debug.WriteLine("Throw away a " + e.KeyData);
}
}
答案 0 :(得分:0)
if (e.Shift && (((int)e.KeyData >= 65 && (int)e.KeyData <= 122) || (e.KeyData.ToString() == "_")))
{
//Code here
}
答案 1 :(得分:0)
天儿真好,
我采取了一种略微不同的方法:
private void txtSearch_KeyUp(object Sender, KeyEventArgs E)
{
int iKeyData = (int)(E.KeyData);
if (((E.KeyData.HasFlag(Keys.OemMinus) == true) && (E.Shift == true)) || ((iKeyData >= 65) && (iKeyData <= 122)))
{
System.Diagnostics.Debug.WriteLine(E.KeyData);
}
else
{
System.Diagnostics.Debug.WriteLine("Throw away a " + E.KeyData);
}
}
我不知道这对于不同的键盘布局会如何工作 - 可能也想看一下。
干杯!