C# Basit Drag Drop İşlemleri Örnek Uygulama




http://img8.imageshack.us/img8/4269/dragdrop.jpg

Drag-Drop Uygulaması

Merhaba arkadaşlar sınavlar nedeniyle uzun zamandır birşeyler yazamıyordum…

Bu yazımda Drag and Drop işleminin nasıl yapıldığını anlatmaya çalışacağım..

Drag and Drop İşlemini anlatmakla işe koyulalım.Bilindiği gibi Drag, “Sürükle” Drop ise “Bırak” anlamına gelmektedir.

Örneğin Formun üstündeki bir nesneyi fare yardımıyla form üzerinde sürükleyip bi yerden başka bir yere taşımak istiyorsak Drag-Drop işlemlerini yapan mesaj yanıtlayıcı fonksiyonları kullanabiliriz.

Bir dosyayı bir klasorün üzerine sürüklemek, Okey oyununda taşları tahta üzerinde sürükleme veya Puzzle oyununda parçaları sürükleme işlemleri Drag-Drop işlemlerine örnek olarak gösterilebilir.

Formdaki Panel içindeki bir Resmi sürükleyip bulunduğu Panelden Diğer bir Panele bırakmak için yani Drag-Drop un gerçekleşmesi için 3 adet mesaj yanıtlayıcı fonksiyonu sırasıyla kullanmalıyız. Sırasıyla Diyorum Çünkü Drag-Drop işlemi  Birkaç Mesaj fonksiyonunun yayımlanması sonucu tamamlanmış olur.

Bu fonksiyonlar Sırasıyla MouseDown olayı –>DragEnter Olayi –> DragDrop Olayidir….

Örneğin 2 adet Panelimiz var ve Panelimizdeki butonu sürkleyip birinden diğerine taşımak istoyorsak aşağıdaki kodları yazmamız gerekecektir.

public Form1()
{
InitializeComponent();
//Bu satirsdan sonraki islemler normalde Properties Penceresinden
//Yapilabilir ama ordan yapinca Bakan kimse hangi nesne hangi
//fonksiyonu cagiriyor belli olmuyor o yuzden kodla yaziyorum
this.button1.DragDrop += new System.Windows.Forms.DragEventHandler(this.button1_DragDrop);
this.button1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.button1_MouseDown);
this.button1.DragEnter += new System.Windows.Forms.DragEventHandler(this.button1_DragEnter);

this.panel5.DragDrop += new System.Windows.Forms.DragEventHandler(this.button1_DragDrop);
this.panel5.DragEnter += new System.Windows.Forms.DragEventHandler(this.panel1_DragEnter);
this.panel6.DragDrop += new System.Windows.Forms.DragEventHandler(this.button1_DragDrop);
this.panel6.DragEnter += new System.Windows.Forms.DragEventHandler(this.panel1_DragEnter);
private void button1_MouseDown(object sender, MouseEventArgs e)
{
button1.DoDragDrop(button1, DragDropEffects.All);

}

private void button1_DragDrop(object sender, DragEventArgs e)
{
if (panel5.Controls.Contains(button1))
{

panel6.Controls.Add(button1);
return;
}
if (panel6.Controls.Contains(button1))
panel5.Controls.Add(button1);

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

}

Öğrenme amaçlı olduğundan  Hata yakalama Kodları eklenmemiştir.

Örnek Uygulamayı da indirerek olayları daha iyi anlayabilirsiniz…

Buyrun Buradan İndirin

Popularity: 4% [?]




1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...
    • enes
    • 9 Ekim 2009

    rar şifresini gönderirmisin

    • ahmet
    • 24 Kasım 2009

    üstad verdiğiniz bilgiler çok güzel emeğinize sağlık hep ingilizce hep ingilizce ingilizce bilmeyen ve bu işe yeni başlayan biri olarak tekrar ellerinize sağlık diyorum ancak nacizane fikrim bir üye katılım bölümü oluşturun he konu mail girme sıkıntısı olmaz diye düşünüyorum

    • NoVoLuMe
    • 24 Kasım 2009

    Arkadaşlar sitem çok kısa bir süre sonra yeni görünümü ve çalışmalarımla karşınızda olacaktır.

 

Sitemizi N/A kişi takip ediyor.Aşağıdaki kutucuğa e-posta adresinizi girin sitemize yeni eklenen içerikten haberiniz olsun...

Sitemize üye olduktan sonra, e-posta adresinize bir onay maili gelecek. O maili onaylamazsanız, üyeliğiniz tamamlanmaz. 

RSS okuyucu ile takip edin...