C# ile Drag-Drop (Sürükle-Bırak) İşlemi

Batuhan Düzgün tarafından yayınlanmıştır 18. August 2010 01:05

Merhaba arkadaşlar bu yazımda sizlere C# programlama dilinde,sürükle-bırak (drag-drop)  işlemini anlatacağım.Sürükle-bırak işlemi özellikle son kullanıcının yazılımları kolayca  kullanabilmesine  olanak tanır.Görsel olarak ve işlemler açısından basit bir arayüz sunar.Yazılım eğitiminde kolaylık sağlar.Ayrıca programı kullanacak olan kişinin yazılım ile verimli çalışmasını sağlar.
 
Sürükle-bırak işlemi için senaryonumuz şu şekilde olacak ; iki adet listbox'ımız olacak,sol taraftaki listbox'ın içindeki harflerden birini,sağ taraftaki listbox'a sürükle-bırak işlemiyle  ekleyeceğiz. Bu işlemi yaparken aslında fazla kod yazmayacağız.Ama kullanacağımız olay (event) metodları önemli.Şimdi bunlara değinelim.Projeyi gerçekleştirirken aşağıdaki metodlar önemlidir.
 
listBox1_MouseDown //bu metodda listbox'ın içinde yer alan harflerden tıklanılanı alıp,sürükle-bırak yaptıracağız.
 
listBox1_DragEnter //bu metod içinde Dragdropeffect'in tipini belirleyeceğiz.
 
listBox2_DragOver //listbox1'den seçilen değeri,listbox2 üzerine sürüklemeyi sağlayan metodumuz.
 
listBox2_DragDrop  //listbox2'de sürükle-bırak işleminden sonra meydana gelen değişiklikleri yapacak olan metodumuz.
 
 
 private void listBox1_DragEnter(objectsender, DragEventArgs e)

{

            e.Effect = DragDropEffects.All;//dragdrop'un effect türünü seçiyoruz.ben All seçeneğini seçtim.

}

private void listBox1_MouseDown(objectsender, MouseEventArgs e)

{

            Pointsonnokta = new Point(e.X,e.Y);//tıklanılan noktayı aldık.

            intitem_index = listBox1.IndexFromPoint(sonnokta);//tıklanılannoktada yer alan değerin indisini aldık.

            if(e.Button == MouseButtons.Left)//mouse'un soluna mı tıklanılmış diye kontrol ettik.

            {

listBox1.DoDragDrop(listBox1.Items[item_index],DragDropEffects.All);

//listbox1'den sürükle-bırak metodunu çağırdık.

            }

 }

private void listBox2_DragOver(objectsender, DragEventArgs e)

{

            if(e.KeyState == 1)

            {

                e.Effect = DragDropEffects.All;

            }

}

private void listBox2_DragDrop(objectsender, DragEventArgs e)

{

            listBox2.Items.Add(e.Data.GetData(DataFormats.Text));//sürükle-vırakile gelen değeri listbox2'ye yerleştirdik.

            //listBox1.Items.Remove(e.Data.GetData(DataFormats.Text));

} 

Şimdi F5'e basıp sonuçları görelim.Projeyi çalıştırdıktan sonra solda yer alan listbox'tan,sağda yer alan listbox'a bir harfi tutup,sürükle-bırak yapınız.İşe yarayacaktır.

 
 
 
Uygulamayı indirmek için tıklayınız.  http://rapidshare.com/files/413474173/SurukleBirak.rar
 
Evet,C# ile sürükle-bırak işlemi bu kadar basit bir işlem.Bir sonraki makalemde görüşmek dileğiyle ...
 
Batuhan Düzgün
 
Sakarya Üniversitesi
 
Bilgisayar Mühendisliği
 

Currently rated 5.0 by 5 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Etiketler:

C#

Comments

Add comment


(Will show your Gravatar icon)  

  Country flag

biuquote
  • Comment
  • Preview
Loading





Bu site BlogEngine.NET 1.4.5.0 ile oluşturulmuştur. Türkçe çevirisi BlogEngine TR ekibi tarafından yapılmıştır.

Batuhan Düzgün

Sakarya Üniversitesi 

Bilgisayar Mühendisi

Endüstri Mühendisi

Yeditepe Üniversitesi

Bilgisayar Mühendisliği Yüksek Lisans 

 sahibinden.com

   Kıdemli Uzman Yazılım Mühendisi  

E-Mail 

   batuhan.duzgun@sahibinden.com

   batuhan.duzgun@windowslive.com

  github.com/batux

 

Sayfalar

Calendar

<<  September 2018  >>
MoTuWeThFrSaSu
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

Yazıları geniş takvimde göster