好的,这是代码的重要部分:
public bool open = false;
//CODE FOR CALLING VOID "EverySecond"
var DT = new System.Timers.Timer(); //Yes i am using System.Timers
DT.Elapsed += new ElapsedEventHandler(EverySecond);
DT.Interval = 1000;
/*
SOME CODE CHANGING SOME UNIMPORTANT TEXTBOXES
*/
DT.Start();
private void EverySecond(object source, ElapsedEventArgs e)
{
if (pb1.Value < 100)
pb1.Value += 1;
sl -= 1;
tbTime.Text = "Estimated " + sl.ToString() + " seconds left";
if (pb1.Value >= 100)
pb1.Value = 100;
if (pb1.Value == 100 && open == false)
{
Form frm6 = new frm6();
frm6.Show();
this.Close();
}
}
所以基本上每次我运行这个所有代码都运行良好,但后来我来到这段代码(如果(pb1.Value == 100 && open == false)),整个程序冻结并输出1秒(由于脚本的当前配置是合乎逻辑的)但是我已经尝试了一百万种不同的方法,它的作用有些相同,它只是向我显示沙漏光标,所有按钮和文本框都放错了位置,进度条消失了,它只是一团糟。