[CSHARP] Drag and drop image from one PictureBox to another PictureBox

Bài đăng này hướng dẫn bạn cách kéo và thả hình ảnh từ PictureBox này sang PictureBox khác trong Ứng dụng C# Windows Forms.

[CSHARP] Drag and drop image from one PictureBox to another PictureBox
Để tạo một ứng dụng đơn giản về cách sử dụng c# kéo và thả hình ảnh vào picturebox, bạn có thể kéo điều khiển PictureBox từ hộp công cụ Visual Studio vào trình thiết kế biểu mẫu của mình, sau đó thiết kế một giao diện người dùng đơn giản để giúp bạn kéo và thả hình ảnh vào PictureBox trong c# như hình dưới đây.

Việc thêm trình xử lý sự kiện Form_Load vào biểu mẫu của bạn để cho phép bạn khởi tạo các điều khiển PictureBox .

private void Form1_Load(object sender, EventArgs e)
{
    pictureBox1.AllowDrop = true;
    pictureBox2.AllowDrop = true;
}

Tiếp theo, Thêm trình xử lý sự kiện DragDrop vào PictureBox1 cho phép bạn kéo thả tệp hình ảnh vào điều khiển PictureBox dưới dạng mã c# sau.

  private void pictureBox1_DragDrop(object sender, DragEventArgs e)
{
    var data = e.Data.GetData(DataFormats.FileDrop);
    if (data != null)
    {
        var fileNames = data as string[];
        if (fileNames.Length > 0)
            pictureBox1.Image = Image.FromFile(fileNames[0]);
    }
}
  

Và đừng quên thêm trình xử lý sự kiện DragEnter vào PictureBox1 để cho phép bạn sao chép một hình ảnh.

private void pictureBox1_DragEnter(object sender, DragEventArgs e)
{
    e.Effect = DragDropEffects.Copy;
}

Thêm trình xử lý sự kiện MouseDown vào PictureBox1 để thực hiện sao chép hình ảnh.

  private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Left)
        pictureBox1.DoDragDrop(pictureBox1.Image, DragDropEffects.Copy);
}
  

Việc thêm DragEnter vào PictureBox2 cho phép bạn sao chép hình ảnh.

  private void pictureBox2_DragEnter(object sender, DragEventArgs e)
{
    if (e.Data.GetDataPresent(DataFormats.Bitmap) && (e.AllowedEffect & DragDropEffects.Copy) != 0)
        e.Effect = DragDropEffects.Copy;
    else
        e.Effect = DragDropEffects.None;
}
  

Cuối cùng, Thêm trình xử lý sự kiện DragDrop vào PictureBox2 để cho phép bạn sao chép hình ảnh từ bảng ghi tạm dưới dạng mã c# sau.

private void pictureBox2_DragDrop(object sender, DragEventArgs e)
{
    pictureBox2.Image = (Bitmap)e.Data.GetData(DataFormats.Bitmap, true);
}

Nhấn F5 để chạy dự án của bạn, sau đó kéo và thả hình ảnh vào PictureBox1. Tiếp theo, bạn có thể kéo và thả hình ảnh từ PictureBox1 sang PictureBox2

 VIDEO HƯỚNG DẪN.


Chúc các bạn thành công với thủ thuật trên.

PASSWORD UNZIP: HUNG.PRO.VN
Chúc Mọi Người Thành Công Với Thủ Thuật Trên.
Nếu mọi người có vướng mắc gì mình chia sẽ trên trang có thể gửi liên hê cho mình tại đây nhé.
Cảm ơn mọi người đã quan tâm.

1 comment:

Hạ Tỷ Tỷ said...

có demo không e? gửi chị test xem thế nào e nhé

All Right Reserved © 2015 By Hung Pro VN