Перетаскивание изображений при отображении предварительного просмотра в C#

Пример Перетаскивание изображений в C# объясняет, как для перетаскивания изображений. См. Этот пример для основных идей. (Обратите особое внимание на второй абзац, в котором обсуждается свойство AllowDrop для элемента управления PictureBox.)

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

При щелчке правой кнопкой мыши по источнику перетаскивания PictureBox следующий код запускает перетаскивание.

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

Когда перетаскивание перемещается по целевой точке, выполняется следующий код.

Если имеются растровые данные, и это операция копирования, код позволяет копировать. Он сохраняет текущее изображение целевой цели в переменной OldImage. Он создает копию перетаскиваемого изображения и рисует прозрачный белый прямоугольник над ним, чтобы сделать его легче. Затем он отображает изображение предварительного просмотра в целевой камере PictureBox. PictureBox имеет SizeMode, установленный в AutoSize, поэтому элемент управления автоматически изменяет размеры, чтобы соответствовать изображению предварительного просмотра.

Если перетаскивание покидает цель перетаскивания, выполняется следующий код.

Этот код восстанавливает исходное изображение целевой цели, поэтому изображение предварительного просмотра больше не отображается.

Наконец, если пользователь падает на цель, выполняется следующий код.

Этот код отображает отброшенное изображение.

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

Источник: http://csharphelper.com/blog/2015/02/drag-and-drop-images-while-displaying-a-preview-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *