调整按键射击的大小

时间:2018-11-06 12:37:29

标签: c# .net winforms

我有一个继承Form类的经典Form1类。 问题是我按了按钮,没有事件触发。
在Form1内部,有一个webBrowser占据了整个Form1。

这是我的代码:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        WindowState = FormWindowState.Maximized;
        KeyPreview = true;
        PreviewKeyDown += wb_PreviewKeyDown; 
    }

     private void wb_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
    {
        Console.WriteLine("EDOOOOOOOOO");   
        if (e.Control && e.KeyCode == Keys.C)
        {
            // Do something funny!
        }
    }
}

无论我按什么按钮,都不会触发wb_PreviewKeyDown。

1 个答案:

答案 0 :(得分:0)

如果您按下表单上的一个键,则事件将被触发。
但是,如果您在窗体上有一个TextBox或其他内容,然后按一个键,该事件将不会触发,因为现在TextBox已收到输入。

可以通过在表单上设置属性KeyPreview = true来轻松解决此问题。
您可以在设计器或代码中进行设置(请参见@Isma的答案)

编辑: 由于您的表单上有一个WebBrowser控件,因此您需要做一些不同的操作,请参阅此Handling key events on WebBrowser control

它涉及使用PreviewKeyDown的{​​{1}}事件