仅当我用鼠标按下按钮时,Windows窗体才会执行

时间:2019-08-16 09:51:45

标签: c# winforms debugging

我在一个uni项目中工作,遇到一个问题。(我也是C#的初学者)。 我创建了一个Windows窗体菜单,我必须通过键盘选择选项。但是,除非我事先单击了该选项,否则我的程序将不允许我选择。 (我必须单击该选项,然后按键,否则我甚至可以向该键发送垃圾邮件,而不会发生任何事情。)

private void button1_KeyDown(object sender, KeyEventArgs e)
    {
        if( e.KeyCode==Keys.D1 || e.KeyCode==Keys.NumPad1)
        {
            SidePanel.Height = button1.Height;
            SidePanel.Top = button1.Top;
            firstCustomControl1.BringToFront();
        }
    }

这是我如何根据数字选择选项的代码段。 谢谢:)

2 个答案:

答案 0 :(得分:1)

首先将您要在其上执行操作的表单的“ KeyPreview”选项设置为true,默认情况下为false。必须根据任何键盘事件执行任何功能。

第二次在相同表单上添加Keydown事件。

react-native-community/blur

答案 1 :(得分:0)

请勿在按钮上使用Keydown事件! 在设计器中选择窗体,然后为整个窗体添加Keydown事件。

Add Key Down Event on Form 1

然后将您的代码添加到以下自动生成的方法

private void Form1_KeyDown(object sender, KeyEventArgs e)
{
    YourCodeHere();
}