Перемещение формы без заголовка
Я пытался переместить форму, у которой нет заголовка. Я использую панель, где должна быть заголовок. Это как можно ближе к этому. Когда вы посмотрите на мой код, вы можете смеяться:)
Сейчас вы не можете переместить его с помощью холста, но вы можете переместить его с помощью события мыши. Когда я перемещаю его с формой, он падает вниз и вправо. Может кто-нибудь, ПОЖАЛУЙСТА, скажите мне, где я иду не так. Я предполагаю, что это потому, что нет никакого значения для переменных a и b в сабе MouseMove.
Private Sub forml_MouseDown(sender As Object, e As MouseEventArgs) Handles Panel.MouseDown
Dim newPoint As New System.Drawing.Point()
Dim a As Integer
Dim b As Integer
a = Panel.MousePosition.X - Me.Location.X
b = Panel.MousePosition.Y - Me.Location.Y
End Sub
Private Sub form1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
Dim newPoint As New System.Drawing.Point()
Dim a As Integer
Dim b As Integer
If e.Button = MouseButtons.Left Then
newPoint = Panel.MousePosition
newPoint.X = newPoint.X - (a)
newPoint.Y = newPoint.Y - (b)
Me.Location = newPoint
End If
End Sub
Я ДЕЙСТВИТЕЛЬНО оценил бы некоторую помощь.
1 ответ
Я получил это на работу! Вы получили это, Ганс.. Я сделал членов класса a и b и обработал панель с помощью кода, который вы увидите ниже. Спасибо вам обоим за помощь.
:это работает
Private Sub planel_MouseDown(sender As Object, e As MouseEventArgs) Handles Panel.MouseDown
Dim newPoint As New System.Drawing.Point()
a = Panel.MousePosition.X - Me.Location.X
b = Panel.MousePosition.Y - Me.Location.Y
End Sub
Private Sub panel_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Panel.MouseMove
Dim newPoint As New System.Drawing.Point()
If e.Button = MouseButtons.Left Then
newPoint = Panel.MousePosition
newPoint.X = newPoint.X - (a)
newPoint.Y = newPoint.Y - (b)
Me.Location = newPoint
End If
End Sub