在达到上限之前,For-循环结束

本文关键字:For- 循环 结束 | 更新日期: 2023-09-27 18:34:44

由于某种原因,我无法理解我的for Loop"破坏"了程序。

对于较低的值,它工作正常,点的中断似乎是 45 秒(600 位图(高于该值的任何时间,循环只是存在,函数甚至没有完成。

这是循环:

 public void GenBitmaps()
    {
        timespan = new TimeSpan(0, 0, 0, 40);
        int BitmapCount = (int)((timespan.Minutes * 60 + timespan.Seconds) * 1000 / ((double)timer1.Interval));
        bitmaps = new Bitmap[BitmapCount];
        double size = StartSize.Height;
        for (int i = 0; i < BitmapCount; i++)
        {
            this.Text = i.ToString() + " " + BitmapCount.ToString();
            bitmap = new Bitmap(StartSize.Width, (int)size);
            using (Graphics gfx = Graphics.FromImage(bitmap))
            {
                using (SolidBrush brush = new SolidBrush(Color.Red))
                {
                    gfx.FillRectangle(brush, 0, 0, bitmap.Width, bitmap.Height);
                }
            }
            bitmaps[i] = bitmap;
            size -= StartSize.Height / (float)BitmapCount;
        }          
    }

在达到上限之前,For-循环结束

我认为您的位图大小接近于零,并且在位图构造过程中会抛出一些异常。尝试在 try/catch 中包装位图构造函数