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

时间:2012-02-13 13:25:09

标签: c# winforms

我在C#Windows应用程序中使用一个RichTextBox。我需要限制用户在某些条件下从键盘输入任何键。所以,我在KeyDown的{​​{1}}事件中编写了以下代码行:

RichTextBox

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

即使我尝试使用以下代码

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

但徒劳无功。

如何使用所有键盘布局来抑制输入?

1 个答案:

答案 0 :(得分:0)

您想要实际抑制键,还是要阻止用户编辑文本?

使用richTextBox1.ReadOnly = true;

可以轻松地阻止编辑文本

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

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