日期:2014-05-18  浏览次数:21197 次

如何判断用户是否按下了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("没有按下");
}
}