Как запретить перемещение формы за заголовок - Visual Basic .NET
Формулировка задачи:
Как запретить перемещение формы за заголовок?
Решение задачи: «Как запретить перемещение формы за заголовок»
textual
Листинг программы
Imports System.Runtime.InteropServices Public Class Form1 Const SC_CLOSE As Integer = &HF010 Const MF_BYCOMMAND As Integer = 0 Const WM_NCLBUTTONDOWN As Integer = &HA1 Const WM_NCHITTEST As Integer = &H84 Const HTCAPTION As Integer = 2 <DllImport("User32.dll")> _ Private Shared Function SendMessage(ByVal hWnd As IntPtr, ByVal Msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Integer End Function <DllImport("User32.dll")> _ Private Shared Function GetSystemMenu(ByVal hWnd As IntPtr, ByVal bRevert As Boolean) As IntPtr End Function <DllImport("User32.dll")> _ Private Shared Function RemoveMenu(ByVal hMenu As IntPtr, ByVal uPosition As Integer, ByVal uFlags As Integer) As Boolean End Function Protected Overrides Sub WndProc(ByRef m As Message) If m.Msg = WM_NCLBUTTONDOWN Then Dim result As Integer = SendMessage(m.HWnd, WM_NCHITTEST, IntPtr.Zero, m.LParam) If result = HTCAPTION Then Return End If End If MyBase.WndProc(m) End Sub Protected Overrides Sub OnHandleCreated(ByVal e As EventArgs) MyBase.OnHandleCreated(e) Dim hMenu As IntPtr = GetSystemMenu(Handle, False) RemoveMenu(hMenu, SC_CLOSE, MF_BYCOMMAND) End Sub End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д