Visual Studio C# Klavye İle Obje Hareket Ettirme


Visual Studio C# Klavye İle Obje Hareket Ettirme


Merhaba arkadaşlar bu yazmda sizlere Visual Studio Form Application da klavye ile nesneleri nasıl hareket ettirebileceğinizden bahsedeceğim.
Gelin hadi hemen yazımıza geçelim.

İlk olarak projemize bir görsel ekleyelim. (Ben pictureBox üzerinden anlatacağım, siz neyi hareket ettirmek isterseniz kullanabilrisiniz.)


Şimdi artık bir fonksiyon oluşturacağız ve klavye tuşları ile hangi işlemlerin yapılacağını belirleyeceğiz.

  private void klavye_yakala(object sender, KeyEventArgs e)
        {
            if(e.KeyCode == Keys.W)
            {
                pictureBox1.Top -= 10;
            }
            if (e.KeyCode == Keys.S)
            {
                pictureBox1.Top += 10;
            }
            if (e.KeyCode == Keys.A)
            {
                pictureBox1.Left -= 10;
            }
            if (e.KeyCode == Keys.D)
            {
                pictureBox1.Left += 10;
            }
        }


Buradaki KeyEventArgs e ile klavyeden basılan tuşu alan bir fonksiyon yazdık ve içerisinde kullandığımız if döngüsü ile hangi tuşa basılıp hangi işlemin yapılacağına karar verdik.

Burada pictureBox1.top ile yukarı ve aşağı gitmesini sağladık.
pictureBox1.left ile sağa ve sola gitme ayarını yaptık += ve -= ile de ne kadar yol alacağını belirledik.
Bu işlemleri yaptıktan sonra tasarım panelinde forma tıklayıp event(şimşek simgesi) kısmına gelip oradan Key kısmında KeyDown kısmına klavye_yakala fonksiyonunu tanımlamanız gerekiyor.




Projemiz bittiği zaman bütün kod satırarımız şöyle olması gerekiyor

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Nesne_Hareket_Ettirme
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        /* Klavye ile kontrol etme */

        private void klavye_yakala(object sender, KeyEventArgs e)
        {
            if(e.KeyCode == Keys.W)
            {
                pictureBox1.Top -= 10;
            }
            if (e.KeyCode == Keys.S)
            {
                pictureBox1.Top += 10;
            }
            if (e.KeyCode == Keys.A)
            {
                pictureBox1.Left -= 10;
            }
            if (e.KeyCode == Keys.D)
            {
                pictureBox1.Left += 10;
            }
        }

        /* Klavye ile kontrol etme kapat */
    }
}



Benim yaptığım projeyi GitHub üzerinden indirebilrisiniz.
GitHub - Klavye İle Nesne Hareket Ettirme

Ekran Görüntüleri