C# 拦截用户输入/限制用户通过键盘输入

问题描述

我有一个问题,我喜欢在 Windows 窗体中编写 ui。在那里我只想允许用户通过 ui 中的按钮输入,我已经准备好了,并通过键盘上的键输入数字。所有其他键都不起作用。我该怎么做?

解决方法

处理 KeyDown 事件:

private void Form1_KeyDown(object sender,KeyEventArgs e)
{
    e.Handled = true;

    // Top row of numbers or keypad
    if ((e.KeyCode < Keys.D0 || e.KeyCode > Keys.D9) || (e.KeyCode < Keys.NumPad0 || e.KeyCode > Keys.NumPad9))
    {
        // Do something with the number
    }
}