我有一个表格,我删除了标题栏但保留了边框(请参阅此答案)。
在上面的答案中,它声明需要FormBorderStyle
设置为Sizable
or SizableToolWindow
,并且为了阻止表单变大,您需要捕获 WM_NCHITTEST 事件。唯一的问题是这样做不会引发正常Form_MouseEnter
或Form_MouseLeave
事件。
有什么解决方法吗?
我的代码:
Protected Overrides Sub WndProc(ByRef message As Message)
If message.Msg = &H84 Then 'WM_NCHITTEST
Me.Focus() 'Focus the form when it receives a click.
Return
End If
MyBase.WndProc(message)
End Sub
Private Sub PanelForm_MouseLeave(sender As Object, e As System.EventArgs) Handles PanelForm.MouseLeave
PlaceOnScreen(False) 'Placed a breakpoint here, it won't execute.
End Sub