【问题标题】:How do i Turn OFF the Caps lock key如何关闭大写锁定键
【发布时间】:2012-11-29 10:05:00
【问题描述】:

如何关闭文本框中的大写锁定键。我正在使用 WPF 表单。

当文本框聚焦时,我想关闭大写锁定。

谢谢

【问题讨论】:

标签: c# wpf


【解决方案1】:

很简单,先添加命名空间

using System.Runtime.InteropServices;

然后在类中声明这个

[DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags,
UIntPtr dwExtraInfo);

最后,在 textBox_Enter 事件中添加这段代码

private void textBox1_Enter(object sender, EventArgs e)
    {
        if (Control.IsKeyLocked(Keys.CapsLock)) // Checks Capslock is on
        {
            const int KEYEVENTF_EXTENDEDKEY = 0x1;
            const int KEYEVENTF_KEYUP = 0x2;
            keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
            keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
            (UIntPtr)0);
        }
    }

这段代码将关闭大写锁定..我在enter事件中使用了它,你可以根据你的要求添加它!

查看此链接here

【讨论】:

    【解决方案2】:

    将此代码用于 WPF froms。

    private void txt_KeyDown(object sender, KeyEventArgs e)
        {
    
            if (Keyboard.GetKeyStates(Key.CapsLock) == KeyStates.Toggled) // Checks Capslock is on
            {
                const int KEYEVENTF_EXTENDEDKEY = 0x1;
                const int KEYEVENTF_KEYUP = 0x2;
                keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY, (UIntPtr)0);
                keybd_event(0x14, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,
                (UIntPtr)0);
            }
    
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 2012-06-03
      • 2011-01-22
      • 2012-08-14
      • 2014-05-15
      相关资源
      最近更新 更多