MouseMove olayına fare işaretçisinin denetim üzerinde hareket ettirilmesi sonucu çalışması istenen kodlar yazılır. Bu yazımızda MouseMove event’ ı ile ilgili 2 adet örnek gerçekleştireceğiz.
Örnek 1: Form üzerinde Fare hareket ettirildiğinde imlecin koordinat bilgisi (X ve Y ekseni) label1 üzerinde gösterilecektir.
Adım 1 – Bu işlemi gerçekleştirmek üzere C# Windows Form’ da boş bir proje açalım.
Adım 2 – Formumuza 1 adet label ekleyelim.
Adım 3 – Form üzerinde boş bir alana tıklayoruz ve Events penceresinden MouseMove çift tıklıyoruz.
Adım 4 – Son olarak karşımıza çıkan kod penceresinde
1 2 3 4 5 6 7 | private void Form1_MouseMove(object sender, MouseEventArgs e) { Point p = e.Location; label1.Text = p.X.ToString() + " " + p.Y.ToString(); } |
kodlarımızı yazıyoruz. Projemizi çalıştırdığımızda label1′ de X ve Y eksenine ait değerlerin fare hareketine bağlı olarak değiştiğini göreceğiz.
Örnek 2: Bu örneğimizde paint benzeri, tabi biraz daha basit 🙂 çizim işlemi yapabileceğimiz bir örnek yapacağız. Bu işlemi yapabilmek için MouseMove event’ inin yanısıra MouseUp ve MouseDown olaylarınıda kullanacağız. MouseDown fareyle basıldığında MouseUp ise fareden çekildiğinde yazılacak kodlarımızı barındıracak.
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 | public partial class Form1 : Form { public Form1() { InitializeComponent(); } bool ciz; int baslaX, baslaY; private void Form1_Load(object sender, EventArgs e) { this.BackColor = Color.Red; } private void Form1_MouseUp(object sender, MouseEventArgs e) { ciz = false; } private void Form1_MouseDown(object sender, MouseEventArgs e) { ciz = true; baslaX = e.X; baslaY = e.Y; } private void Form1_MouseMove(object sender, MouseEventArgs e) { Graphics g = this.CreateGraphics(); Pen p = new Pen(Color.White, 4); //Kalemin rengi ve kalınlığı Point point1 = new Point(baslaX, baslaY); Point point2 = new Point(e.X, e.Y); if (ciz == true) { g.DrawLine(p, point1, point2); baslaX = e.X; baslaY = e.Y; } } } |
Projemizi çalıştırdığımızda çıkan sonuç 🙂
Merhaba Çizdiğimiz bir nesneyi seçtikten sonra nasıl kaydırabiliriz?
Merhabalar Sevinç Hanım, bu durumu yapabildiniz mi?
Kullanıcının mouse hareketlerini veritabanına kaydeden ve gereketiğinde bu rota üzerinden tekrar gidebilen c# programını yazınız
Ödev Bu
Merhabalar bize hoca ödev verdi bu mause hareketlerini veri tabanina nasıl kaydedeyim bilginiz varmi