We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you a podcast all about Citrix Workspace, moving to the cloud, and analytics & intelligence. Episode 2 coming soon!Listen Now

x

System.Windows.Forms.Timer GetBoardTypeConnected;

Medium Priority
266 Views
Last Modified: 2013-12-17
Hello,

I  have problems with the following code.
I wanted to enter the "GetBoardTypeFunc" only once, therefore in this function I stop the timer.
Although I stopped the timer I see that I continue to enter the "GetBoardTypeFunc" function.
Why?
Should I unsubscribe from the event EventHandler(GetBoardTypeFunc)?
If yes, what is a sintax?

THANKS
Margarit
System.Windows.Forms.Timer GetBoardTypeConnected;
//////////////////////////////////////////////////////////////////////////////////////////////////////
private void GetBoardType()
        {
            GetBoardTypeConnected = new System.Windows.Forms.Timer();
            GetBoardTypeConnected.Interval = 400;// 250;
            GetBoardTypeConnected.Start();
            GetBoardTypeConnected.Tick += new EventHandler(GetBoardTypeFunc);
        }
 
 private void GetBoardTypeFunc(Object state, EventArgs eArgs)
        {
            a++;
            GetBoardTypeConnected.Stop();
            GetBoardTypeConnected.Dispose();
        }
///////////////////////////////////////////////////////////////////////////////////////////////////////////

Open in new window

Comment
Watch Question

High School Computer Science, Computer Applications, Digital Design, and Mathematics Teacher
CERTIFIED EXPERT
Top Expert 2009
Commented:
My guess is that you are calling GetBoardType() more than once...what triggers a call to that sub?

Pop a MessageBox in there and see if that is what's happening:


        private void GetBoardType()
        {
            MessageBox.Show("Entering GetBoardType()...");
            GetBoardTypeConnected = new System.Windows.Forms.Timer();
            GetBoardTypeConnected.Interval = 400;// 250;
            GetBoardTypeConnected.Start();
            GetBoardTypeConnected.Tick += new EventHandler(GetBoardTypeFunc);
        }

Open in new window

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Author

Commented:
Thanks! The solution worked for me. This function was called more than once from another event.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.