- Joined
- Aug 12, 2011
- Messages
- 161
- Thread Author
- #1
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:
	
	
	
		
Usage:
	
	
	
		
		
		
	
	
		 
	
				
			
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 ModuleUsage:
		Code:
	
	Me.SwitchForm(Form2) 
	 
 
		 
 
		