Merhaba arkadaşlar bu yazımızda sürüklenilebilen buton örneğini paylaşıyorum.Bu örnek MouseDown,MouseUp ve MouseMove özelliklerini kullanmaktadır.Pek tercih edilen bir yöntem olamsada basit uygulamalarda kullanılabilir.Sürükle bırak işleminin DragDrop Eventları ile kullanım örneğini C# Hanoi Kuleleri Oyunu uygulamasında bulabilirsiniz. Kodların açıklaması mevcuttur.
public Form1()
{
InitializeComponent();
btn.MouseDown += Btn_MouseDown;
btn.MouseMove += Btn_MouseMove;
btn.MouseUp += Btn_MouseUp;
}
Button btn = new Button();
bool suruklenme = false; // Sürükleme ile ilgili bool değişkeni
Point ilkkonum;
int surukleme_sayisi = 0;
private void Form1_Load(object sender, EventArgs e)
{
btn.Text = "C# Ders Örnekleri"; // Dinamik buton oluşturduk
btn.AutoSize = true;
this.Controls.Add(btn);
toolStripStatusLabel1.Text = "";
}
private void Btn_MouseDown(object sender, MouseEventArgs e)
{
suruklenme = true; // Butona basıldığında suruklenmeyi aktif ettik.
ilkkonum = e.Location; // Mousenin ilk konumunu belirledil.
}
private void Btn_MouseMove(object sender, MouseEventArgs e)
{
if (suruklenme == true) // Sürüklenme aktifse yani mouseye basılıyorsa
{
btn.Left = e.X + btn.Left - (ilkkonum.X); // Butonun left ten uzaklığını veriyoruz.
btn.Top = e.Y + btn.Top - (ilkkonum.Y); // Aynı şekilde üstten
}
toolStripStatusLabel1.Text = "Butonun konumu : X= " + btn.Location.X + " Y= " + btn.Location.Y + " Sürüklenme Sayısı (Tık Başına): " + surukleme_sayisi;
// Tool stripte de yazdık
}
private void Btn_MouseUp(object sender, MouseEventArgs e)
{
surukleme_sayisi++; // Mouseyi bıraktığımızda sürüklenme sayısını arttırıyoruz
suruklenme = false; // Sürüklenmeyi bitiriyoruz.
}
Yorumlar
Yorum Gönder
Konu hakkında yorumlarınızı bekliyorum teşekkürler.