Picture Box of Memory - PullRequest
       1

Picture Box of Memory

5 голосов
/ 09 августа 2011

Я занимаюсь разработкой приложения для Windows.На одной из моих форм я размещаю элемент управления графическим блокомРаботает нормально в большинстве случаев.Но иногда он отображает красный крест, а не отображает реальную картинку.

Я продолжил исследовать это и узнал, что этот элемент управления обрабатывает исключения изнутри.Поэтому я перехожу к Debug->Exceptions и проверяю соответствующие поля thrown.Затем я обнаружил, что красное поле отображается из-за следующей ошибки:

A first chance exception of type 'System.OutOfMemoryException' occurred in System.Drawing.dll

Additional information: Out of memory.

Может ли какой-либо орган предложить мне, как бороться с этим исключением?

Ответы [ 2 ]

8 голосов
/ 09 августа 2011

По мере того, как вы комментируете, что вы используете несколько изображений в PictureBox, вы должны «как @Jason предложил» утилизировать старое изображение перед применением нового, например:

private void ChangePictureBoxImage(Image image)
{
    pictureBox.Image.Dispose();//dispose the old image.

    pictureBox.Image = image;
}
0 голосов
/ 09 августа 2011

Сколько оперативной памяти имеет ваша целевая машина?

Вы получили это исключение, потому что произошел сбой при вызове, чтобы выделить больше памяти для образа.Если вы не можете увеличить объем памяти на своем компьютере, попробуйте уменьшить размер изображения или закрыть все другие программы, которые у вас работают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...