Я пытаюсь создать форму, изменяемую по размеру, на основе перетаскивания пользовательской формы, нарисованной в углу панели. У меня есть код, который работает фантастически, если он нарисован в основной форме, но если я пытаюсь нарисовать его в углу панели, это не сработает, я не могу изменить размер формы. Код оптимизирован для рисования в форме, может ли кто-нибудь помочь мне и обновить его для работы в панели?Изменение размера формы из рисованной формы панели - VB.NET
Protected Overrides Sub WndProc(ByRef m As Message)
MyBase.WndProc(m)
If m.Msg = &H84 Then
Dim pos = Me.PointToClient(New System.Drawing.Point(m.LParam.ToInt32() And &HFFFF, m.LParam.ToInt32() >> 16))
If pos.X >= Me.Width - grab AndAlso pos.Y >= Me.Height - grab Then
m.Result = New IntPtr(17)
End If
End If
End Sub
Private Const grab As Integer = 14
Protected Overrides Sub OnPaint(e As PaintEventArgs)
MyBase.OnPaint(e)
Dim rc = New System.Drawing.Rectangle(Me.Width - grab, Me.Height - grab, grab, grab)
ControlPaint.DrawSizeGrip(e.Graphics, System.Drawing.Color.FromArgb(250, 250, 250), rc)
End Sub
Это выглядит следующим образом:
Требуется «атрибуция Google». Как правило, это хороший способ заставить автора этого кода помочь вам. –
Я получил код от пользователя Hackforums.net, я не знаю, кто автор. Сожалею! – Nana