Here’s a little VB.NET code snippet that I wrote to make a Form semi-transparent when moving and resizing it. I think this is a neat little effect to add to an application.
Public Class frmTransparentMoveResize Inherits System.Windows.Forms.Form Private _OpacityResize As Double = 0.5 Private _OpacityMove As Double = 0.5 Private _OpacityOriginal As Double Private Const WM_NCLBUTTONDOWN As Long = &HA1 Private Const WM_NCLBUTTONUP As Long = &HA0 Private Const WM_MOVING As Long = &H216 Private Const WM_SIZE As Long = &H5 Protected Overrides Sub DefWndProc(ByRef m As System.Windows.Forms.Message) Static LButtonDown As Boolean 'Check the state of the Left Mouse Button If CLng(m.Msg) = WM_NCLBUTTONDOWN Then 'set LButtonDown to True is Left Mouse Button is down LButtonDown = True ElseIf CLng(m.Msg) = WM_NCLBUTTONUP Then 'set LButtonDown to False is Left Mouse Button is not down LButtonDown = False End If If LButtonDown Then If CLng(m.Msg) = WM_MOVING Then 'Set the forms opacity to 50% if user is draging the window If Me.Opacity <> _OpacityMove Then _OpacityOriginal = Me.Opacity Me.Opacity = _OpacityMove End If ElseIf CLng(m.Msg) = WM_SIZE Then 'Set the forms opacity to 50% if user is resizing the window If Me.Opacity <> _OpacityResize Then _OpacityOriginal = Me.Opacity Me.Opacity = _OpacityResize End If End If ElseIf Not LButtonDown Then If Me.Opacity <> _OpacityOriginal Then Me.Opacity = _OpacityOriginal End If MyBase.DefWndProc(m) End Sub Public Property OpacityMove() As Double Get Return _OpacityMove End Get Set(ByVal Value As Double) _OpacityMove = Value End Set End Property Public Property OpacityResize() As Double Get Return _OpacityResize End Get Set(ByVal Value As Double) _OpacityResize = Value End Set End Property End Class
This site is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com. We also participates in affiliate programs with Udemy, and other sites. This site is compensated for referring traffic and business to these companies.