• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2008でPictureBoxをキーボードを使って動かしたい)

VB2008でPictureBoxをキーボードを使って自由に動かす方法とは?

このQ&Aのポイント
  • VB2008を使ってPictureBoxに取り込んだイラストをキーボードを使って自由に動かしたいと思っています。現状、全く同時に→と↑のキーを押せば右上に動くようになりますが、右上に動く方法を知りたいです。
  • また、キーを押し続けると一度動いて止まり、その後に再び動き続けるという問題があります。この問題を解決し、止まらずに動くようにしたいです。
  • 実行する際はデザインにPictureBoxを表示し、イラストを適当に入れてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

4方向のフラグをForm1クラスに準備してTimerで動かすようにしてみましょう dim bUP, bDown, bLeft, bRight as Boolean と宣言しておきます FormのKeyUpとKeyDownを ---- FormのKeyUpイベント Select Case e.KeyCode   case Keys.Up     bUp = False   case Keys.Down     bDown = False   case Keys.Left     bLeft = False   case Keys.Right     bRight = False   end select ---- FormのKeyDown イベント Select Case e.KeyCode   case Keys.Up     bUp = True   case Keys.Down     bDown = True   case Keys.Left     bLeft = True   case Keys.Right     bRight = True   end select ---- FormのLoadイベント Me.keyPreview = True Timer1.Enabled = True --- Timer1のTickイベント dim pt as Point = PictureBox1.Location if bUp or bDown then   pt.Y -= IIF( bUp, 10, 0 )   pt.Y += IIF( bDown, 10, 0 ) end if if bLeft or bRight then   pt.X -= IIF( bLeft, 10, 0 )   pt.X += IIF( bRight, 10, 0 ) end if PictureBox1.Location = pt といた具合でどうでしょう

taki1994
質問者

お礼

回答ありがとうございます。 教えていただいたとおりに行うと、正しくできました。 このソースコードの意味はこれから勉強していきたいと思います。 また質問させていただくときには、よろしくお願いします。

関連するQ&A