读书人

怎么判断用户是否按下了CAPLOCK键

发布时间: 2012-04-08 14:38:30 作者: rapoo

如何判断用户是否按下了CAPLOCK键
输入密码时给出用户提示,还有那个提示用哪个控件显示好?我的环境是Silverlight4。

[解决办法]
TextBlock呗。
[解决办法]
方法两种
C#中在keyDown事件下做判断
if(e.KeyCode==Keys.CapsLock)
{
textBox1.Text="CapsLock";
}

或者调用API函数GetKeyState(int vInt);
using System.Runtime.InteropServices;
private const byte VK_CAPITAL = 0x14;
[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
private static extern short GetKeyState(int vKey);

bool isDownCapslock = (GetKeyState(VK_CAPITAL) != 0 ? true : false);
if(isDownCapslock)
{
MessageBox.Show("大写键打开");
}
[解决办法]
private void ShowKeyState()
{
if (Control.IsKeyLocked(Keys.CapsLock))
{
MessageBox.Show("大写键盘按下");
}
else
{
MessageBox.Show("没有按下");
}
}
[解决办法]
可以在任意位置调用这个方法。
private void ShowKeyState()
{
if (Control.IsKeyLocked(Keys.CapsLock))
{
MessageBox.Show("大写键盘按下");
}
else
{
MessageBox.Show("没有按下");
}
}

读书人网 >C#

热点推荐