| KOZ さん回答ありがとうございます。
> (1) Form1 の上でマウスボタンを押す > (2) Form1 を隠して Form2 を表示 > (3) マウスボタンが離されたイベントを取得 > > ということでしょうか?
はい、そのような操作を想定しています。
> (2) の後で、Form1 でも Form2 のどちらでもいいのですが、Capture プロパティを True にすれば、MouseUp イベントが発生します。
Hideで非表示にした場合ですとイベントが発生しましたが、以下のように記述するとCaptureをTrueにしてもイベントが発生しません。 最初の質問ではソースを簡略化してましたが、実際は以下の方法での表示・非表示を想定しています。失礼いたしました。 この場合でもMouseUpイベントを取得することは可能でしょうか?
Public Class Form1 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load SetDesktopBounds(0, 0, 640, 480) Form2.Show() Form2.Opacity = 0 Form2.ShowInTaskbar = False Form2.SetDesktopBounds(640, 0, 640, 480) End Sub
Private Sub Form1_MouseDown(sender As Object, e As MouseEventArgs) Handles Me.MouseDown Opacity = 0 ShowInTaskbar = False Form2.Opacity = 100 Form2.ShowInTaskbar = True Capture = True End Sub
Private Sub Form1_MouseUp(sender As Object, e As MouseEventArgs) Handles Me.MouseUp Stop End Sub End Class |