Как предотвратить сброс изображения за пределы формы? - PullRequest
0 голосов
/ 09 ноября 2019

Я делаю шахматную доску и не хочу, чтобы пользователь перетаскивал шахматную фигуру (изображение) за пределы формы.

Текущий код:

private void PictureBox_MouseDown(object sender, MouseEventArgs e)
    {
        PictureBox pb = (PictureBox)sender;
        pb.DoDragDrop(pb.Image, DragDropEffects.Copy);
    }
private void PictureBox_DragEnter(object sender, DragEventArgs e)
    {
        PictureBox pb = (PictureBox)sender;
        pb.Image = DragDropPreview(e);
    }
private void PictureBox_DragDrop(object sender, DragEventArgs e)
    {
        PictureBox pb = (PictureBox)sender;
        pb.Image = (Bitmap)e.Data.GetData(DataFormats.Bitmap);
    }
private void PictureBox_DragLeave(object sender, EventArgs e)
    {
        PictureBox pb = (PictureBox)sender;
        pb.Image = null;
    }

Можно ли запретить пользователю перетаскивать изображение из формы?

 private void frmChessBoard_DragLeave(object sender, EventArgs e)
    {
        // stop the Drag & Drop action
    }

Или есть способ запретить удаление изображения за пределы формы? Я не знаю, есть ли события вне формы, которые могут быть вызваны.

...