нарисовать событие в c # .Net - PullRequest
0 голосов
/ 11 мая 2011

В моем приложении есть следующие элементы управления,

  • Пользовательский элемент управления состоит из панели
  • Кнопка «Открыть» Я использую событие Paint, чтобы нарисовать изображение (просмотр и выбор с помощью OpenFileDialog) на пользовательском элементе управления. Это отлично работает для первого изображения. Если я использую OpenFileDialog для открытия второго изображения, деталь с размером OpenFileDialog не отображается в элементе управления. Это проблема использования события Paint?

Ответы [ 3 ]

1 голос
/ 11 мая 2011

используйте это для элемента управления, который вы обрабатываете его событие рисования. Просто сделайте это после диалога:

myUserControl.Invalidate()

Invalidate метод снова вызывает событие рисования для указанного элемента управления.

0 голосов
/ 11 мая 2011

Я думаю, что это лучше:

//you have a picturebox in the form pictureBox1
// openFileDialog ofd

if (ofd.ShowDialog(this) == System.Windows.Forms.DialogResult.OK)
{
    this.pictureBox1.Image = new BitMap(ofd.FileName);
}
0 голосов
/ 11 мая 2011

Я думаю, вам нужно вручную вызвать метод обновления вашей панели после закрытия OpenFileDialog.

...