私はVisual C#、 でVB 2013で自分自身を改善するために2Dゲーム(pacman)を開発しており、特定のボタンをクリックしてキーダウンイベントを有効にしたい(ゲーム終了時に表示される再起動ボタン)。助けて。特定のボタンをクリックしてキーダウンイベントをアクティブにする方法はありますか?
//these are my keydown codes
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
int r = pictureBox5.Location.X;
int t = pictureBox5.Location.Y;
if (pictureBox5.Top >= 33)
{
if (e.KeyCode == Keys.Up)
{
t = t - 15;
}
}
if (pictureBox5.Bottom <= 490)
{
if (e.KeyCode == Keys.Down)
{
t = t + 15;
}
}
if (pictureBox5.Right <= 520)
{
if (e.KeyCode == Keys.Right)
{
r = r + 15;
}
}
if (pictureBox5.Left >= 30)
{
if (e.KeyCode == Keys.Left)
{
r = r - 15;
}
}
if (e.KeyCode == Keys.Up && e.KeyCode == Keys.Right)
{
t = t - 15;
r = r + 15;
}
pictureBox5.Location = new Point(r, t);
}
//and that's the button I wanted to interlace with keydown event
private void button1_Click(object sender, EventArgs e)
{
}
ボタンを押したときに押すべきキーは何ですか? Form_Keydownのコードはe.KeyCodeの値に完全に依存するため、キーを使用しないと、そのコードをリファクタリングなしで使用することはできません – Steve
ıすべての4つの主方向の方法が有効になります(右上の左下) – KAMATLI
これはどのようにでも可能ですか?コードはすべて一緒に値にすることはできません。あなたのform_keydownコードには不可能なif文があります。 KeyCodeは、Keys.RightとKeys.Upの両方に等しいことはできません。 – Steve