Windows 7 [VB.NET] - Form Fade Switcher Module

Discussion in 'Programming and Scripting' started by AceInfinity, Dec 12, 2012.

  1. AceInfinity

    AceInfinity Senior Member
    Microsoft MVP

    Joined:
    Aug 12, 2011
    Messages:
    159
    Likes Received:
    11
    Here's a cool module I created a while ago. I got the idea with some cool fading effects... Maybe you'll find use for this too :)

    If you want something fancy, try this Module I came up with:
    Code:
    Imports System.Threading
    
    Module FormSwitcher
        <System.Runtime.CompilerServices.Extension()> _
        Public Sub SwitchForm(OriginalForm As Form, NewForm As Form)
            NewForm.Opacity = 0
            NewForm.Show()
            NewForm.Location = OriginalForm.Location
    
            OriginalForm.MatchSize(NewForm.Size)
            For d As Double = 1.0 To 0.0 Step -0.25
                OriginalForm.Opacity = d
                NewForm.Opacity = 1 - d
                Thread.Sleep(100)
            Next
    
            OriginalForm.Hide()
            OriginalForm.Opacity = 1
        End Sub
    
        <System.Runtime.CompilerServices.Extension()> _
        Private Sub MatchSize(OriginalForm As Form, NewSize As Size)
            Dim S As Size = OriginalForm.Size
            Dim Stepper As Integer = 0
            If S.Width <> NewSize.Width Then Stepper = If(S.Width < NewSize.Width, 1, -1)
            If Stepper <> 0 Then
                For i As Integer = S.Width To NewSize.Width Step Stepper
                    OriginalForm.Width = i
                Next
            End If
    
            If S.Height <> NewSize.Height Then Stepper = If(S.Height < NewSize.Height, 1, -1)
            If Stepper <> 0 Then
                For i As Integer = S.Height To NewSize.Height Step Stepper
                    OriginalForm.Height = i
                Next
            End If
        End Sub
    End Module
    Usage:
    Code:
    Me.SwitchForm(Form2)
    [​IMG]
     

Share This Page

Loading...