It's a fancy version I created to switch between forms. It could be modified to close the previous form, but if the main form is closed by default settings in a WinForms project, the application closes. So you'll have to modify the application's config to close when the last form closes instead if you take that route, otherwise, just being conscious of that will suffice, if you'll never be switching the main form out with a new one in the assembly.
Originally I had it so that it'd fade out and bring the new one in, then I thought that it didn't look nice when the forms were not 'in the same location' and one would close out on the left side of my screen while another opened near the bottom or on the right. So with some tweaking I came up with a visual concept to 'shrink' or expand to the new form's size the form which will soon 'disappear'. Then that quick disappear and show a new form thing wasn't doing it for me. So I thought of fading each in and out at the same time. Raising the opacity of one form, and alternating this process to make the other one fade out at relatively the same time 'visually'.