0

私はボーダーとタイトルバーのないシンプルなフォームを持っています。ストップウォッチを示すラベルが 1 つだけあります。フォーム上の任意の場所でマウスをクリックしてからドラッグすることで、フォームを移動できるようにする必要があります。

私はそれを解決しましたが、問題は、ラベルが占める場所でフォームをクリックすると、フォームが移動しないことです。言い換えれば、ラベルだけが表示されるだけで、他の機能は必要ありません。ラベルをクリックスルーするにはどうすればよいですか?

4

3 に答える 3

0
Public Class Form1
Dim drag As Boolean
Dim mousex As Integer
Dim mousey As Integer

Private Sub Form1_MouseDown(ByVal sender As Object, ByVal e As  System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown, Label1.MouseDown
    drag = True
    mousex = Windows.Forms.Cursor.Position.X - Me.Left
    mousey = Windows.Forms.Cursor.Position.Y - Me.Top
End Sub

Private Sub Form1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseUp, Label1.MouseUp
    drag = False
End Sub

Private Sub Form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove, Label1.MouseMove
    If drag Then
        Me.Top = Windows.Forms.Cursor.Position.Y - mousey
        Me.Left = Windows.Forms.Cursor.Position.X - mousex
    End If
End Sub
End Class
于 2014-06-16T01:18:40.390 に答える