c# - 我如何关闭大写锁定键

标签 c# wpf

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

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

谢谢

最佳答案

很简单,先添加命名空间

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);
        }
    }

这段代码会关闭Capslock ..我已经在enter事件中使用了它,你可以根据你的需要添加它!

检查此链接 here

关于c# - 我如何关闭大写锁定键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13623245/

相关文章:

C# 6.0、.NET 4.51 和 VS2015 - 为什么字符串插值有效?

c# - 是否可以在没有 UWP 的情况下使用 .NET Native?

c# - C#WPF WebBrowser替代品

c# - 如何在服务器 app.config 中保存动态端点?

c# - Application.Run 抛出 ArgumentException 未处理

c# - 在函数参数中使用多个谓词?

c# - 按名称检索文本框

c# - 自定义视频和音频设置

c# - 闪烁的窗口不适用于 TabbedThumbnail(自定义任务栏预览)

c# - 使用(DataContext)还是不使用