マウスでコントロールを移動させるには?

解決


杏子  2007-06-11 23:02:55  No: 143625

formの上にpanelを貼ってその上にコントロールを配置してまいす。
検索かけた情報でコーディングしたことろformに直接コントロールを配置すれば問題なく動くのですが、panelの上に配置すると正しく動作しません。

よろしくお願いします。
以下コーディングです。

Private Sub Label8_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label8.MouseDown

  If e.Button = System.Windows.Forms.MouseButtons.Left Then
     Old_Size = New Size(e.X, e.Y)
  End If

End Sub

Private Sub Label8_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Label8.MouseMove

   If e.Button = System.Windows.Forms.MouseButtons.Left Then
      Label8.Location = Point.op_Subtraction(Me.PointToClient(System.Windows.Forms.Cursor.Position), Old_Size)
   End If

End Sub


魔界の仮面弁士  2007-06-11 23:37:11  No: 143626

> Label8.Location = Point.op_Subtraction(Me.PointToClient(System.Windows.Forms.Cursor.Position), Old_Size)

フォーム上に貼ってあるからこそ、座標変換が
> Me.PointToClient(
にて行われているわけであって……パネルに貼ってあるなら、
 Panel1.PointToClient(
ですね。


杏子  2007-06-12 06:16:54  No: 143627

できました!
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加