У меня есть приложение .NET 2.0, которое отлично работает на XP и Vista, но на Windows 7 RC (x64) оно вылетает со следующей ошибкой:
Информация об исключении
Тип исключения: System.OutOfMemoryException
Сообщение: недостаточно памяти.
Данные: System.Collections.ListDictionaryInternal
TargetSite: Void .ctor (System.Drawing.Image, System.Drawing.Drawing2D.WrapMode)
HelpLink: NULL
Источник: System.Drawing
Информация StackTrace
в System.Drawing.TextureBrush..ctor (изображение изображения, WrapMode wrapMode)
в System.Windows.Forms.ControlPaint.DrawBackgroundImage (Графика g, изображение backgroundImage, цвет backColor, ImageLayout backgroundImageLayout, границы прямоугольника, прямоугольник clipRect, точка scrollOffset, RightToLeft rightToLeft)
в System.Windows.Forms.Control.PaintBackground (PaintEventArgs e, прямоугольник, цвет backColor, точка scrollOffset)
в System.Windows.Forms.Control.PaintBackground (PaintEventArgs e, Прямоугольный прямоугольник)
в System.Windows.Forms.Control.OnPaintBackground (PaintEventArgs pevent)
в System.Windows.Forms.ScrollableControl.OnPaintBackground (PaintEventArgs e)
в System.Windows.Forms.Control.PaintWithErrorHandling (PaintEventArgs e, слой Int16, логическое значение disposeEventArgs)
в System.Windows.Forms.Control.WmPaint (Сообщение & m)
в System.Windows.Forms.Control.WndProc (сообщение & m)
в System.Windows.Forms.ScrollableControl.WndProc (Message & m)
Любые идеи о том, почему это происходит, или как я могу программировать вокруг этого? Это просто рисование стандартной формы без специального фона.
UPDATE:
Я обнаружил, что это проблема, только когда BackgroundImageLayout = ImageLayout.Tile, который также используется по умолчанию. Установите Zoom или Center, и проблема исчезнет. Это довольно неудовлетворительно, потому что мне это нужно.