窗口创建句柄时错误
下面是我的代码,我在一个窗体中创建了两个system.timer.timer,但是当关闭窗体时,如果任意一个timer.Enabled=true,则会报错,“用户代码未处理Win32Exception:窗口创建句柄时错误”,报错位置是两个timer的Elapsed事件(两个事件都有可能)中的this.textBox3.Text = hour1.ToString()这句话(就是为textbox.text赋值这句话),以下是代码:
private void button9_Click(object sender, EventArgs e)
         {              
                 timer2.Interval = 1;//表示每1ms刷新一次时钟,每次刷新50个毫秒
                 timer2.Elapsed += new ElapsedEventHandler(timer2_Elapsed);
                 timer2.AutoReset = true;
                 timer2.Enabled = true;
                 timer4.Interval = 1;//表示每1ms刷新一次时钟,正常是次刷新1个毫秒
                 timer4.Elapsed += new ElapsedEventHandler(timer4_Elapsed);
                 timer4.AutoReset = true;
                 timer4.Enabled = true;            
         }
         void timer2_Elapsed(object sender, ElapsedEventArgs e)
         {
             if (second_mile < 1000)
             {
                 second_mile += 50;
                 this.textBox_Sec.Text = second.ToString();
                 this.textBox_Min.Text = minute.ToString();
                 this.textBox_Hour.Text = hour.ToString();
                 this.textBox_milesecond.Text = second_mile.ToString();
             }
             else
             {
                 second_mile = 0;
                 if (second < 59)
                 {
                     second += 1;
                     this.textBox_Sec.Text = second.ToString();
                     this.textBox_Min.Text = minute.ToString();
                     this.textBox_Hour.Text = hour.ToString();
                     this.textBox_milesecond.Text = second_mile.ToString();
                 }
                 else
                 {
                     second = 0;
                     if (minute < 59)
                     {
                         minute += 1;
                         this.textBox_Sec.Text = second.ToString();
                         this.textBox_Min.Text = minute.ToString();
                         this.textBox_Hour.Text = hour.ToString();
                         this.textBox_milesecond.Text = second_mile.ToString();
                     }
                     else
                     {
                         minute = 0;
                         hour += 1;
                         this.textBox_Sec.Text = second.ToString();
                         this.textBox_Min.Text = minute.ToString();
                         this.textBox_Hour.Text = hour.ToString();
                         this.textBox_milesecond.Text = second_mile.ToString();
                     }
                 }
             }
         }
         void timer4_Elapsed(object sender, ElapsedEventArgs e)
         {
             if (second_mile1 < 1000)
             {
                 second_mile1 += 1;
                 this.textBox3.Text = hour1.ToString();
                 this.textBox4.Text = minute1.ToString();
                 this.textBox5.Text = second1.ToString();
                 this.textBox6.Text = second_mile1.ToString();
             }
             else
             {
                 second_mile1 = 0;
                 if (second1 < 59)
                 {
                     second1 += 1;
                     this.textBox3.Text = hour1.ToString();<