#c# #graphics #paint
#c# #графика #Краски
Вопрос:
В моем приложении есть следующие элементы управления,
- Пользовательский элемент управления состоит из панели
- Кнопка «Открыть» Я использую событие рисования, чтобы нарисовать изображение (просмотренное и выбранное с помощью OpenFileDialog) на пользовательском элементе управления. Это отлично работает для первого изображения. Если я использую OpenFileDialog для открытия второго изображения, часть с размером OpenFileDialog не отображается в элементе управления. Это проблема с использованием с событием рисования?
Комментарии:
1. Рассматривали ли вы возможность использования PictureBox для рисования вашего изображения вместо этого?
Ответ №1:
используйте это для управления, которым вы обрабатываете его событие рисования. если это ваш пользовательский элемент управления, просто сделайте это после диалога:
myUserControl.Invalidate()
Метод Invalidate снова автоматически вызывает событие paint для указанного элемента управления.
Ответ №2:
Я думаю, вам нужно вручную вызвать метод обновления вашей панели после закрытия OpenFileDialog.
Ответ №3:
Я думаю, что это лучше:
//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);
}