Preventing a form from being moved
Preventing a form from being moved <URL:http://dotnet.mvps.org/dotnet/faqs/?id=nonmoveableform&lang=en> ---------------------------------------------------------------------------- Preventing a form from being moved Based on an implementation written by Tom Spink. The code below defines a base class that provides a 'Moveable' property. By inheriting from this class and setting the 'Moveable' property to 'False', the user will be prevented from moving then form: \\\ Imports System.ComponentModel Imports System.Windows.Forms Public Class MoveableForm Inherits Form Private Const WM_NCLBUTTONDOWN As Int32 = &HA1 Private Const WM_SYSCOMMAND As Int32 = &H112 Private Const HTCAPTION As Int32 = &H2 Private Const SC_MOVE As Int32 = &HF010 Private m_Moveable As Boolean Public Sub New() MyBase.New() Me.Moveable = True End Sub < _ Category("Behavior"), _ Description("Allows the form to be moved.") _ > _ Public Property Moveable() As Boolean Get Return m_Moveable End Get Set(ByVal Value As Boolean) m_Moveable = Value End Set End Property Protected Overrides Sub WndProc(ByRef m As Message) If Not m_Moveable Then If _ ( _ m.Msg = WM_SYSCOMMAND AndAlso _ m.WParam.ToInt32() = SC_MOVE _ ) _ OrElse _ ( _ m.Msg = WM_NCLBUTTONDOWN AndAlso _ m.WParam.ToInt32() = HTCAPTION _ ) _ Then Return End If End If MyBase.WndProc(m) End Sub End Class ///