跨线程时 一定要用System.Timer,而不要用System.windows.Forms.Timer.
Timer 控件到点时,一定要先stop然后做其他工作,最后再messageBox.show() ;否则messageBox.show() 将线程阻塞在那块等待用户操作了,要是用户不在没有操作,则不能stop()。