我正在嘗試將表單向左或向右移動,表示由主鍵擊由多個像素表示的輔助鍵擊,但目前爲止我還沒有做到任何東西。據我所知,我應該在這裏沒有問題。我也將KeyPreview設置爲true。使用Form1_KeyDown捕獲鍵擊(...)
private void Form1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
this.Close();
int movement = 0;
if (e.KeyCode == Keys.R)
lastEntered = 'r';
else if (e.KeyCode == Keys.L)
lastEntered = 'l';
else
{
if (e.KeyCode >= Keys.NumPad0 && e.KeyCode <= Keys.NumPad9)
{
movement = (int)(e.KeyCode - Keys.NumPad0);
Console.WriteLine(movement);
this.Left += movement;
}
if (lastEntered == 'r')
this.Left += movement;
else if (lastEntered == 'l')
this.Left -= movement;
}
}
你的代碼有一些錯誤。你爲什麼首先在任何一個關鍵時刻立即關閉你的表格?您如何期待表格在已經關閉時移動? – nawfal
被添加到查看是否有任何按鍵事件發生。這個想法是,我可以清楚地看到表單是否已經關閉,因爲它代表我的代碼什麼都不做,我希望至少有一些事情發生。 – Roadblock
在這種情況下,您最好使用一個消息框,因爲Close在所有情況下都可能不起作用。 – nawfal