473,386 Members | 1,721 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Invalidate help needed!

Expand|Select|Wrap|Line Numbers
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Text;
  7. using System.Windows.Forms;
  8.  
  9. namespace timertest
  10.     {
  11.     public partial class Form1 : Form
  12.         {
  13.  
  14.         public Form1()
  15.             {
  16.             InitializeComponent();
  17.             }
  18.  
  19.         int a = 0;
  20.  
  21.         System.Windows.Forms.Timer timer = new Timer();
  22.  
  23.         System.Windows.Forms.Timer timer2 = new Timer(); 
  24.  
  25.         public void flash(object sender, EventArgs e)
  26.             {
  27.             if (this.BackColor == System.Drawing.Color.Red)
  28.                 {
  29.                 this.BackColor = System.Drawing.Color.White;
  30.                 }
  31.             else 
  32.                 {
  33.                 this.BackColor = System.Drawing.Color.Red;
  34.                 }
  35.             Invalidate();
  36.             }
  37.  
  38.         public void noflash(object sender, EventArgs e)
  39.             {
  40.                 {
  41.                 timer.Stop;
  42.                 timer2.top;
  43.                 }
  44.             }
  45.  
  46.         private void button1_Click(object sender, EventArgs e)
  47.             { 
  48.             timer.Interval = 300;
  49.             timer2.Interval = 3000;
  50.             timer.Start();
  51.             timer2.Start();
  52.             timer.Tick += new EventHandler(flash);
  53.             timer2.Tick += new EventHandler(noflash);            
  54.             }
  55.         }
  56.     }
//This is code I wrote to test a routine to cause a windows form to flash when a specific event occurs. In this code the event is button1_click. The problem I have is when I click the button the form flashes until timer2 stops at which point I presume the "noflash" method has been called by the timer2.Tick event. But when I click the button again the form does nothing. When I click the button the third time, the form flashes again, acting as if the flash action has been toggled.
Why is this happening, are the timers not actually being stopped, is timer2 really stopping or not. I am very confused, please help a guuy out.
Oct 5 '07 #1
3 1330
Plater
7,872 Expert 4TB
You should not be assigning MORE event handlers everytime a button is clicked. They should be assigned once. Or assigned, then removed, and assigned again, although there's no reason for that.
Oct 5 '07 #2
I'm not sure how that answers my question. Is assigning an event the reason the form is only flashing every other time I click? How do I get the form to flash every time I click the button?


You should not be assigning MORE event handlers everytime a button is clicked. They should be assigned once. Or assigned, then removed, and assigned again, although there's no reason for that.
Oct 10 '07 #3
Whoa, I know what you meant, it was the problem. I moved it into the Form class declaration Thank you very much. I was pulling my hair out over this one.

I'm not sure how that answers my question. Is assigning an event the reason the form is only flashing every other time I click? How do I get the form to flash every time I click the button?
Oct 10 '07 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

1
by: Alexander Jhin | last post by:
I have this very basic Custom Control: public class TestPanel : Panel { public TestPanel() : base() { this.SetStyle( ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque |...
3
by: Marge Inoferror | last post by:
I am trying to display a number of images and have them scale when the window is resized. I have all the code to draw the window in an OnPaint() override. However, it only draws correctly the...
3
by: Chan | last post by:
Invalidate() is a member of System.Windows.Forms.Form. It marks an area of the client window as invalid and, therefore, in need of repainting, and then makes sure a Paint event is raised. But...
3
by: jerry chapman | last post by:
Based on a mouse click I change something on the screen. I then want to repaint the screen to show the change. When I tried to use .Invalidate in my mouse routine, I got a compilation error. ...
3
by: RS | last post by:
if i want to invalidate the client area of my Windows.Form and execute an overrided OnPaint i would use Form1.ActiveForm.Invalidate() ?? However, when i use this line of code i receive a : An...
17
by: SamSpade | last post by:
picDocument is a picturebox When I do picDocument.Invalidate() the box paints. But if instead I do picDocument.Refresh() the box does not paint. What does Refresh do. I guessed it did an...
4
by: grayaii | last post by:
Hi, I have a simple form that handles all its paint functionality like so: this.SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.Opaque, true); And the entry point to this...
1
by: sean | last post by:
I'm trying to create "rubber-band" rectangles by overriding the OnPaint method to place rectangles on top of all graphic controls, but when I call Me.Invalidate() (when the user moves the mouse),...
0
by: raylopez99 | last post by:
Hi, I'm getting into GDI+ Forms 2.0 graphics for C#3 using Visual Studio 2008. One thing I notice: the graphics are really slow and flicker on a Pentium IV, with 2 GB RAM, even with...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.