做这个循环,加上一个thread.sleep方法,怎么不延时啊?
我是做一个往窗体上面载入照片的循环程序。按理说,应该是一个照片贴上去,停30毫秒,再贴上去另外一张。结果现在是程序先歇一会儿,然后所有的照片同时出来!怎么回事?我需要的是每个循环之间歇一会儿。
- C# code
for (int i = 0; i < 8; i++) { X = SX; for (int j = 0; j < 6; j++) { System.Threading.Thread.Sleep(30); if (((i == 2) && (j == 2 || j == 3 || j == 4 || j == 5))||((i==5)&&(j==0||j==1||j==2||j==3))) { } else { PictureBox pb = new PictureBox(); pb.Size = new System.Drawing.Size(25, 33); pb.Image = Image.FromFile(@"e:\staff\" + countFlag.ToString() + ".jpg"); pb.Location = new Point(X, Y); pb.BringToFront(); this.Controls.Add(pb); countFlag += 1; // } X += horizontalCrossing + hSep; } Y += verticalCrossing + ySep; }
[解决办法]
countFlag += 1;
这行上面加
Application.DoEvents();
[解决办法]
for循环中加一句Application.DoEvents();给cpu刷新时间