Form Üzerinde Nesneleri Sürükle-Bırak[C#]

15 Mart 2010 – 10:12 Bu örnekte form üzerindeki nesneleri nasıl taşıcağımızı anlatıcam.Form üzerindeki buttonu istediğimiz yere sürükleyip bırakabilceğiz.Bu örnekle eventlerin kullanımı daha rahat şekilde anlaşılcağını umuyorum.
![suruklebirak suruklebirak Form Üzerinde Nesneleri Sürükle Bırak[C#]](http://www.csharptr.com/wp-content/uploads/2010/03/suruklebirak.jpg)
Şimdi gelelim örneğimize;
Kodlar
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace CsharpTrSurukeBirak { public partial class Form1 : Form { public Form1() { InitializeComponent(); } bool tasimaBasladi = false;//tuşa basıldığında taşıma başlamasını gösteren flag void tasiKardes(object sender, MouseEventArgs e) { tasimaBasladi = true;//taşımanın başlama kontrolü(flag) } void durKardes(object sender, EventArgs e) { tasimaBasladi = false;//taşımanın bittiği kontrolü(flag) } void nesneyiTasi(object sender, MouseEventArgs e) { //mouse move eventinin işaret ettiği fonksiyon if (tasimaBasladi == true && e.Button == MouseButtons.Left) //tasimaBasladiysa ve mouse sol tıklandıysa kontrolü { button1.Left += e.X - button1.Width / 2; button1.Top += e.Y - button1.Height / 2; } } private void Form1_Load(object sender, EventArgs e) { } } } |
Delegeleri kullanırken dikkat etmemiz gereken nokta button1′in eventlerinden mousemove eventini değiştirmek istediğimizi varsayarsak yapmamız gereken button1 eventlerinden mousemove eventine yazdığımız fonksiyonu göstermektir.Fakat bunu yaparken fonksiyonu giriş değerlerini olduğu gibi almamız gerekir.Bunu açıklamak gerekirse mousemove eventine (object sender, MouseEventArgs e) değerlerini tanımlamassak eğer events kısmında yazdığımız fonksiyonu işaret edemeyiz.Yukarıdaki örnekte bu görülmektedir.
![Form Üzerinde Nesneleri Sürükle Bırak[C#] rmlir5 Form Üzerinde Nesneleri Sürükle Bırak[C#]](http://i44.tinypic.com/rmlir5.jpg)
Projeyi indirmek için aşağıdaki linkleri kullanabilirsiniz.
Yazan:Mertcan Kurtaran
Linkler
RapidShare
Csharptr
Etiketler: ”C#, drag, drop, sürükle bırak”