This is a real newbie question. I have simple app that selects a picture and display’s that picture in a PictureBox.
I decided to mess with the Opacity Attribute so I added a timer and created this cool effect where the Main Form’s Opacity is increased by 20% every 400 miliseconds.
The problem is that now when I click the button that invokes the Select File Dialog Box I’m getting a NullReferenceException error.
private void tmrClock_Tick(object sender, EventArgs e)
{
if (ViewerForm.ActiveForm.Opacity != 1)
{
ActiveForm.Opacity = ActiveForm.Opacity + .20;
}
}
The error message is pointing to the if statement.
What am I doing wrong?
Thanks
The
ActiveFormproperty returns theFormobject that is currently focused.When you open a file dialog, there is focused form is not a managed
Formobject, soActiveFormreturnsnull.Assuming that your timer is inside your form, you should simply write
this.Opacity. Thethiskeyword refers to theFormobject that the timer is in.By the way, you should stop your timer when the animation finishes (by calling
tmrClock.Stop())