• 締切済み

PictureBoxのMouseUpイベントを意識的に発生させる方法

VB.Netで開発しています。 表記の通り、PictureBoxのMouseUpイベントを意識的に発生させる方法はありますでしょうか? 具体的な処理の流れは PictureBox1をドラッグ&ドロップすることで ドロップされた位置によって処理を行っているのですが 制限時間をタイマーで設けていて、制限時間が来たら 現在の位置でドロップ(MouseUp)したいのです。 どなたかいい方法ご存知の方いましたらアドバイスお願いします。

  • urach
  • お礼率61% (32/52)

みんなの回答

  • don_go
  • ベストアンサー率31% (336/1059)
回答No.1

MouseUpイベント内で実行する処理を別モジュールにして 制限時間がきたら、そのモジュールをCallするというのは どうでしょうか?

urach
質問者

補足

回答ありがとうございます。 その方法ですとMouseUpイベント内の処理は出来るのですが ドラッグ中と認識されているままになってしまいます。 出来ることならばMouseUpしたと認識させたいのですが、やはり不可能でしょうか?。

関連するQ&A

  • APIイベントを発生させる方法を教えてください。

    自作アプリケーション(WindowsのVB)に、 メールファイルをOutLookソフトからドラッグドロップして、ドラッグドロップのAPIイベントを発生させたいのですが、できずに困っています。 (ちなみに、 OutLookソフトからメールファイルをデスクトップ上へドラッグドロップできます。その、デスクトップ上のメールファイルを、自作アプリケーションへドラッグドロップすると、ドラッグドロップのAPIイベントが発生します。) FormのLoadイベントで、2個のAPI関数を実行しています。 (1)サブクラス化開始    Call SubClass(フォーム名.hwnd) (2)フォームがドロップファイルを受け入れるよう設定    Call DragAcceptFiles(フォーム名.hwnd, True) どなたかアドバイスをお願いします。

  • PictureBoxの更新

    VB2005にてプログラミングをしています。 座標点の表示をするためにpictureboxを用い、繰り返し処理と併用しています。 繰り返して座標点の位置(変数)が変わる度にpictureboxを更新したいのですが、繰り返し処理が全て終わった後にしか更新されません。 これを繰り返す度に更新するにはどのようにしたらよいでしょうか。 よろしくお願いいたします。

  • フォームの外にドラッグ&ドロップ

    現在、VB2005においてアプリケーションを開発しています。 よく、リストボックスなどにドラッグ&ドロップしてパスを入力させる 方法がありますが、これの逆?をやりたいと思っております。 つまり、「すでにリストボックスなどに入力されたアイテムをフォームのそと にドラッグ&ドロップさせた場合にリストボックスからそのアイテムを さくじょする」という動作です。 フォームの外であることをどのように判断してよいかわからないため、 MouseUp,DragDropのイベントを受け取ることができません。 よろしくお願いします。

  • TabStripのイベントについて

    VB6にて開発しています。 VB.NETと違い、VB6の[TabStrip]には各ページにコンテナが用意されていません。 そこで、[PictureBox]をコンテナにして、実行時の[Crick]イベントにて [SelectedItem.Index]を参照し、[Visible]プロパティを切り替えて使用しています。 しかしここでひとつ不具合が起こります。 タブをクリック(押下)したままドラッグしてフォーム外でドロップすると、 タブ自体は切り替わりますが、[Crick]イベントが発生しません。 [TabStrip]の[MouseUp]イベント時に[Crick]イベントをコールするという方法で 回避しています。 ですが、そもそも一般のタブは(例えば画面のプロパティ等のタブ) マウスを押した(押下)時点でページが変わります。 これを実現したく、思考錯誤しています。 [Crick]イベントでは、マウスを押して放した時にイベントが発生します。 マウスを押した(押下)時点で切り替えるには、必然的に[MouseDown]時に [Visible]プロパティを切り替えなければいけないと思うのです。 が、イベントの発生順序は[MouseDown]→[Crick]→[MouseUp]という順で発生する為、 どうしても[Crick]時に取得する[SelectedItem.Index]が[MouseDown]時に取得できず、 実現しません。 VB6でマウスを押した(押下)時のページ切り替えを実現する方法はないのでしょうか? [参考] Private Sub TabStrip1_Click() Dim i As Byte With Me For i = 0 To 8 .Picture1(i).Visible = False Next i i = .TabStrip1.SelectedItem.Index - 1 .Picture1(i).Visible = True End With End Sub

  • VB.NET/PictureBoxのサイズ

    お世話になります。 VB.NETにて、アプリケーションの実行時にForm上のPictureBoxのサイズをマウスのドラッグで変更できるようにしたいのですが、そういったことは可能でしょうか? Windows標準のペイントの様に、境界線をドラッグしてサイズ変更する、といったイメージです。 開発環境はVB.NET 2003 です。

  • 現在、VB2005でDrawLineにてPictureBox上にライン

    現在、VB2005でDrawLineにてPictureBox上にラインを描いています。 しかし、VB6とは違いラインを描いているFormが隠れるとラインが消えてしまいます。 PictureBoxのPaintイベントで描くようにすれば良いのでしょうが、ラインを描くのに 数万ループして演算しながら座標を決めてるため、Formが隠れて現れるたびに座標演算処理が働き 重くなり実用的ではありません。 Formが隠れてもラインが消えないように出来れば良いのですが、方法をご存知の方がいらっしゃいましたら 宜しくお願いいたします。

  • Pictureboxについて

    VB.netで開発を行っていますが、Pictureboxの描画処理で困っています。 プログラム、処理は以下のような感じです。 プログラム ・1つのPictureboxに対して、8台の機械の状態をそれぞれグラフ描画して、さらに全ての機械の実績値の合計を1つのグラフに  描画する。(計9つのグラフを描画します。) ・画面で任意の機械の絵を選択、スクロールで移動できます。(わかりづらいですが、ライン構想のようなものです。) ・スレッドで10秒間隔で毎回更新されます。(毎回描画しています。) 以上のような描画処理を行っておりますが、納品するパソコンがタッチパネルPC(windows xp embedded)なので、 スペックが低く、機械の絵を動かすと、描画が遅いと客から指摘を受けました。 機械の絵を動かした時、グラフを含め全ての描画を行っていることが原因だと思いますが、前回描画したグラフの内容を消去しないまま、 現在、動かしている機械の絵のみ描画するという方法はPictureboxで可能でしょうか。 (1つのPictureboxの特定の部分のみ描画したい。) また、何か他によい方法があれば教えて頂けないでしょうか。

  • VisualBasic2008を使い、画像のドラッグ&ドロップをしたい

    VisualBasic2008を使い、画像のドラッグ&ドロップをしたい まだVB2008の勉強を始めたばかりの初心者です。 PictureBox1~PictureBox4に表示されている画像をドラッグ&ドロップでPictureBox5にコピーして表示させたいのですが、どのようなプログラムにすればいいのかが分かりません。 PictureBox5には何度でもPictureBox1~PictureBox4の画像をドラッグ&ドロップで入れ替えができ、PictureBox1~PictureBox4の画像はそのままになるようにしたいです。 よろしくお願いします。

  • VBのタイマーイベントについて

    VBでタイマーイベントを利用してある処理を定期的に行なっている状態で その他のイベント(スクロールバーはクリックされている時間が長いのでイベントが重なる可能性が高い)が発生すれば、どちらかが優先されるのでしょうか? タイマーは、その他のイベントが発生しても時刻は刻まれているのでしょうか? よろしくお願いします

  • vc++ 2005 Pictureboxの透過処理

    お世話になります。 VC 2005で開発しているC++で教えていただきたい事が有ります。 PictureboxBの上にPictureboxAを透過率50%位で重ねて表示したいのですが、 Pictureboxのプロパティ等で一括で指定できないでしょうか? 出来ない場合、画像を一括で透過処理する方法が有りましたら教えていただけないでしょうか ※ ググって、単色を透過するのは、色々見つけたのですが、画像全体を透過する方法を見つけることが出来ませんでした。 現状は単純にファイル(写真)を読み込んで、PictureboxのImageに格納しているだけです。 ※将来的には、PictureboxAをドラッグで移動させたいので、背景画像(PictureboxB)との位相を取る方法以外でお願いいたします。 Bitmap^ PhotBMP = gcnew Bitmap(filename); // この間にサイズ変更&位置合わせの処理が有りますが、記載を省略させていただいております。 PictureboxA->Image = PhotBMP;

専門家に質問してみよう