0
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Up:
YUlt = YUlt - (PDiff + 10);
Draw.AddEllipse(XUlt, YUlt, 20, 20, Colour);
break;
case Keys.Down:
YUlt = YUlt + (PDiff + 10);
Draw.AddEllipse(XUlt, YUlt, 20, 20, Colour);
break;
case Keys.Left:
XUlt = XUlt - (PDiff + 10);
Draw.AddEllipse(XUlt, YUlt, 20, 20, Colour);
break;
case Keys.Right:
XUlt = XUlt + (PDiff + 10);
Draw.AddEllipse(XUlt, YUlt, 20, 20, Colour);
break;
}
好吧,所以我試圖製作一個winform應用程序,在其中用鍵盤繪製圓圈。這個程序使用NAIT創建的GDIDrawer接口,但對於這個問題來說並不重要,所以不要擔心Draw.AddEllipse。同時按住兩個鍵時
上面的開關盒可以很好地繪製紅點,但下面if語句應該起作用的方式是當用戶按住F1鍵並按下箭頭鍵時,將繪製的點將會它周圍有一個白色邊框。
if (Keys.F1 && (Keys.Down || Keys.Up || Keys.Left || Keys.Right))
{
switch (e.KeyCode)
{
case Keys.Up:
YUlt = YUlt - (PDiff + 10);
Draw.AddEllipse(XUlt, YUlt, 20, 20, Colour, 2, Color.White);
break;
case Keys.Down:
YUlt = YUlt + (PDiff + 10);
Draw.AddEllipse(XUlt, YUlt, 20, 20, Colour, 2, Color.White);
break;
case Keys.Left:
XUlt = XUlt - (PDiff + 10);
Draw.AddEllipse(XUlt, YUlt, 20, 20, Colour, 2, Color.White);
break;
case Keys.Right:
XUlt = XUlt + (PDiff + 10);
Draw.AddEllipse(XUlt, YUlt, 20, 20, Colour, 2, Color.White);
break;
}
}
所有我需要知道的是如何使用戶可以按住F1鍵給點國界,當他們按方向鍵,但如果F1被按下
程序還是畫點不管
等待。 ...當我按下箭頭時,你想繪製點,當我按下箭頭時畫點?並且如果f1沒有按下,還畫點?爲什麼即使使用f1什麼是f1的要點?我沒有得到它 – 2016-12-16 19:31:16
無論F1按下了什麼,程序都會畫點,只是如果你按住F1,一個邊框將圍繞點 – user7115764