gpt4 book ai didi

c# - 无法抑制 WinForms 应用程序中的键

转载 作者:太空宇宙 更新时间:2023-11-03 16:35:24 27 4
gpt4 key购买 nike

我在 C# Windows 应用程序中使用一个 RichTextBox。我需要限制用户在某些情况下从键盘输入任何键。因此,我在 RichTextBoxKeyDown 事件中编写了以下代码行:

private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
e.SuppressKeyPress = true;
}

这适用于美国英语键盘。但是,当我将区域设置更改为韩国并将键盘语言更改为韩语时,即使执行了上述语句,我也可以输入韩语字符(如??????)。

即使我已经尝试过以下代码

private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
e.SuppressKeyPress = true;
e.Handled = true;
}

但徒劳无功。

如何抑制所有键盘布局的输入?

最佳答案

您是想真正抑制按键,还是想阻止用户编辑文本?

使用 richTextBox1.ReadOnly = true;

可以很容易地阻止编辑文本

您的代码可能无法正常工作,因为通过 IME 进行的输入不算作按键操作。

另一种替代方法是尝试阻止 WM_CHAR/KeyPress 处理程序。

关于c# - 无法抑制 WinForms 应用程序中的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9261321/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com