Focusing on Forms and Menus in Visual Basic - 4.16 Creating a Fading Form (Page 2 of 5 )
Problem
You want a form to fade out and disappear.
Solution
Sample code folder: Chapter 04\FadingForm
Use the form’sOpacityproperty to slowly fade it out. Create a new Windows Forms application, and add aButtoncontrol namedActCloseto the form. Change the button’sTextproperty toClose. Then add the following source code to the form’s code template:
Private Sub ActClose_Click(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles ActClose.Click
' ----- Fade out the form.
Dim counter As Integer
For counter = 90 To 10 Step -20
Me.Opacity = counter / 100
Me.Refresh()
Threading.Thread.Sleep(50)
Next counter
Me.Close()
End Sub
Run the program, and click on theClosebutton to see the form fade away.
Discussion
You’ll find that on some systems, the form momentarily blinks to black right when it makes the transition from an opacity of 1.0 to any other opacity value. On such systems, setting the Opacity property to a non-1.0 value during the Loadevent handler still causes a blink, but it does so when the form first opens, not during the cool fadeout.
Private Sub AboutProgram_Load(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.Load
' ----- Prepare the form for later fade-out.
Me.Opacity = 0.99
End Sub
Next: 4.17 Creating a Nonrectangular Form >>
More Visual Basic.NET Articles
More By O'Reilly Media
|
This article is excerpted from chapter four of the Visual Basic 2005 Cookbook, written by Tim Patrick and John Clark Craig (O'Reilly; ISBN: 0596101775). Check it out today at your favorite bookstore. Buy this book now.
|
|