• ベストアンサー

ボタンをマウスで押し続けたときのイベント

VB2005,Frameworks2を使用しています。 フォームに設置したButtonは、通常マウスをクリックする度にイベントが発生しますが、これをボタンをマウスで押している間だけイベントを発生されたいのですがその様なイベントやボタンの設定が見つかりません。 やはりタイマー等を使わないと再現できないのでしょうか? よろしくお願いします。

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

  • ベストアンサー
回答No.2

繰り返し処理ならMouseDownでタイマースタート、MouseUpでタイマー停止、がシンプルだと思われます。 ボタンを押している間だけ何らかの処理が進行するようなものなら、マルチスレッドですかね。MouseDownでスレッドスタート、MouseUpでスレッドを停止させるようなフラグをONにするか、スレッド強制終了させるか。。。 どちらにしても、イベントのプロシージャからは即座に脱出しないとパフォーマンスに影響します。

heaven123
質問者

お礼

ありがとうございます。 最初はMouseDownイベント内に処理をループさせ、さらにSleepとDoEvents入れてみましたが上手く動作しなかったので、こちらのタイマーを使ったシンプルな方法を採用してみたところ上手く動作したのでご報告します。 また質問の機会があれば宜しくお願いします。

その他の回答 (1)

  • avanzato
  • ベストアンサー率54% (52/95)
回答No.1

こんにちは。 当方VB2005ではありませんがMouseDown,MouseUpイベントはありませんか? MouseDown・・・押されている。 MouseUp・・・離した。

関連するQ&A

専門家に質問してみよう