Tentando detectar keypress

Eu fiz um método que detecta quando uma tecla é pressionada, mas não está funcionando! Heres meu código

void KeyDetect(object sender, KeyEventArgs e)
{ 
    if (e.KeyCode == Keys.W && firstload == true)
    {
        MessageBox.Show("Good, now move to that box over to your left");
        firstload = false;
    }
}

Eu também tentei fazer um keyeventhandler mas, ele não pode atribuir a key detect porque é um grupo de métodos

public Gwindow()
{
    this.KeyDetect += new KeyEventHandler(KeyDetect);
    InitializeComponent();    
}

questionAnswers(3)

yourAnswerToTheQuestion