C # перерисовывает графику на winform - PullRequest
0 голосов
/ 12 января 2011

У меня есть изображение, загруженное в winform через imagebox. Когда я хочу обновить изображение, я пытаюсь так:

imagebox.image = null;
draw();  //implements the drawing of the bitmap and assigns to the imagebox/winform

Однако, это будет работать, только если я скрою, а затем снова покажу форму? Как я могу обойти это?

РЕДАКТИРОВАТЬ: проблема решена.

Ответы [ 3 ]

1 голос
/ 12 января 2011

Вы должны проверить эту ссылку Боб Пауэлл GDI + FAQ . В нем есть несколько четких инструкций к некоторым основам GDI, эта ссылка ведет на пример чертежа PictureBox.

По сути, вы хотите присоединиться к событию Paint для ImageBox и вызывать Invalidate () каждый раз, когда хотите перерисовать.

1 голос
/ 12 января 2011

Сделать установщик свойства изображения умнее.Например:

private Image mImage;

public Image Image {
    get { return mImage; }
    set { 
        mImage = value;
        Invalidate();
    }
}

Теперь видимое изображение обновляется автоматически.

1 голос
/ 12 января 2011

Вы пытались позвонить на Invalidate(imagebox.Bounds); в конце метода draw()?

Это должно привести к перерисовке, поэтому вам не придется прятаться и показывать форму снова.

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