Form Üzerinde Nesneleri Sürükle-Bırak[C#] Google'da Ara Büyüt Küçült

Genişlet
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 Form Üzerinde Nesneleri Sürükle Bırak[C#]

Ş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.

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

Projeyi indirmek için aşağıdaki linkleri kullanabilirsiniz.

Yazan:Mertcan Kurtaran

Linkler
RapidShare
Csharptr

Etiketler Etiketler: ”, , ,

Benzer Yazılar

Yorum Yap

Isim : (gerekli)
E-mail : (gerekli)
Yorumunuz: