c# Desktop

Bilgisayardaki Resmi PictureBox Nesnesine Sürükleyip Bırakan c# Form Uygulaması

Programlamada sürükle bırak tekniği çok kullanılmaktadır. Bu yöntemi kendi projenizde kullanabileceğiniz gibi işletim sistemi yardımıyla istediğiniz bir dosyası projenize ekleeybilirsiniz. Bu uygulamamızda bilgisayarda bulunan bir resmi PictureBox nesnesine sürükleyip bırakma işlemini gerçekleşitreceğiz.

Form sayfasına 1 adet PictureBox ekleyin. Form sayfasının AllowDrop özelliğini true yapınız. Aşağıdaki kodları ekleyiniz.

using System;
using System.Drawing;
using System.IO;
using System.Threading;
using System.Windows.Forms;
 
namespace Picturebox_Move_Image_With_Mouse
{
    public partial class Form5 : Form
    {
        public Form5()
        {
            InitializeComponent();
        }
 
        bool vdata;
        string path;
        Image image;
        Thread ImageThread;
 
        private void Form5_DragEnter(object sender, DragEventArgs e)
        {
            string filename;
            vdata = GetImage(out filename, e);
            if (vdata)
            {
                path = filename;
                ImageThread = new Thread(new ThreadStart(saveimage));
                ImageThread.Start();
                e.Effect = DragDropEffects.Copy;
            }
            else
            {
                e.Effect = DragDropEffects.None;
            }
        }
 
        private void saveimage()
        {
            //throw new NotImplementedException();
            image = new Bitmap(path);
        }
 
        private bool GetImage(out string filename, DragEventArgs e)
        {
            //throw new NotImplementedException();
            bool rtun = false;
            filename = string.Empty;
            if ((e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy)
            {
                Array data = ((IDataObject)e.Data).GetData("FileDrop") as Array;
                if (data != null)
                {
                    if ((data.Length == 1) && (data.GetValue(0) is string))
                    {
                        filename = ((string[])data)[0];
                        string extension = Path.GetExtension(filename).ToLower();
                        if ((extension == ".jpg") || (extension == ".png"))
                        {
                            rtun = true;
                        }
                    }
                }
 
            }
            return rtun;
        }
 
        private void Form5_DragDrop(object sender, DragEventArgs e)
        {
            if (vdata)
            {
                while (ImageThread.IsAlive)
                {
                    Application.DoEvents();
                    Thread.Sleep(0);
                }
 
                pictureBox1.Image = image;
            }
        }
    }
}
 

İlgili Makaleler
c# Console Uygulamalarında ReadKey Metoduyla Klavye Tuşlarını Kontrol Etme
Yıkıcı Metotlar (Destructors)
Sayısal Loto Çekilişini Yapan c# Uygulaması
Kredi Kartı Taksitlendirme İşlemini Yapan c# Uygulaması
Kaçan Buton Oyununu Yapan c# Uygulaması
Yazdırma İletişim Kutusu (PrintDialog)
C# Uygulamalarında HashMap Dizi Oluşturma
C# Uygulamalarında Dictionary Dizi Oluşturma
c# Form Uygulamalarında Ekranın Genişliğini ve Yüksekliğini Bulma
Rastgele Seçilen Bir Sayıyı Basamaklarına Ayıran, Basamak Değerini ve Sayı Değerini Bulan c# Console Uygulaması
Veri Girişi Doğrulama (Input Validation)
Veri Girişi Maskeleme (MaskedTextBox)
LINQ - Gruplama (Grouping) Örnekleri
Konsol Ekranında Kod Yazma ve Çalıştırma
Panel Üzerinde Serbest Çizim Yapan c# Form Uygulaması
c# Console Uygulamalarında Ping Nasıl Kullanılır, Ping Atma
C# Programlama Dilinde Veri Tipleri
Form Sayfalarında Ayrıntılı ListBox Kullanımı
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Kodlama
Belirtilen Sayı Kadar Yıldız Oluşturan c# Form Uygulaması

Yorum Ekle
   
Kötü İyi