0

というピクチャーボックスがありBGImageます。ユーザーがこれをクリックしたときに、 に対するマウスの位置をキャプチャできることを願っていますBGImage

を使用してみましMousePositionたが、PictureBox ではなく、画面上でマウスの位置が表示されることがわかりました。

だから私も使ってみましたPointToClient

Dim MousePos As Point = Me.PointToClient(MousePosition)

しかし、これで場所{X=1866,Y=55}がわかりますが、実際には PictureBox の約 をクリックしました{X=516,Y=284}

プログラムを全画面表示し、PictureBox の位置を画面の中央に設定したために問題が発生したと思います ( BGImage.Location = New Point((My.Computer.Screen.WorkingArea.Width / 2) - (1008 / 2), ((My.Computer.Screen.WorkingArea.Height / 2) - (567 / 2))))

また、PictureBox のサイズは 1008 x 567 ピクセルで、画面の解像度は 1366 x 768 であることにも言及する必要があります。

BGImage の位置に対するマウスの位置を取得する方法はありますか?

4

3 に答える 3

0

ピクチャ ボックスにマウス クリック イベントを追加します。
次に、MouseEventArgs を使用して、ピクチャ ボックス内のマウスの位置を取得します。
これにより、画像ボックス内の X と Y の位置が得られます。

Dim PPoint As Point
Private Sub PictureBox1_MouseClick(sender As Object, e As MouseEventArgs) Handles PictureBox1.MouseClick
    PPoint = New Point(e.X, e.Y)
    MsgBox(Convert.ToString(PPoint))
End Sub
于 2015-02-16T01:16:32.520 に答える