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
Basit Veri Bağlama (Simple Data Binding)
Veri Girişi Doğrulama (Input Validation)
Kompleks Veri Bağlama (Complex Data Binding)
TabControl Panelini Kullanarak Lokantalar İçin Müşteri Siparişi Alan c# Form Uygulaması
c# Programında Bigpara Sayfasından Borsa Verilerini Selenium Kütüphanesini Kullanarak Çekme
Veri Girişi Maskeleme (MaskedTextBox)
Yıkıcı Metotlar (Destructors)
Kaçan Buton Oyununu Yapan c# Uygulaması
Konsol Ekranında Kod Yazma ve Çalıştırma
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Kodlama
Rastgele Seçilen Bir Sayıyı Basamaklarına Ayıran, Basamak Değerini ve Sayı Değerini Bulan c# Console Uygulaması
Form Sınıfına Ait Bazı Olayların ve Özelliklerin Kullanılmasına Ait Örnek Uygulama
Form Sınıfı
Tombala Oyununu Yapan Uygulamayı c# Dilinde Kodlama1
Verilen İki Matrisi Çarpan Programı c# Dilinde Form Ortamında Yapınız
Yazdırma İletişim Kutusu (PrintDialog)
Tetris Oyununu C# Dilini Kullanarak Form Sayfasında Kodlama1
Metodu Sonlandırma
GroupBox Paneliyle Gruplandırılan Bilgisayar Parçalarının Satışını Yapan c# Form Uygulaması
c# Console Uygulamalarında Ping Nasıl Kullanılır, Ping Atma

Yorum Ekle
   
Kötü
İyi