09 December 2016

Sürükle Bırak (DragDrop) İşlemleri

Sürükle bırak işlemi görsel programlamanın en önemli unsurlarından biridir. Son kullanıcının veriyi bir lokasyondan başka bir lokasyona taşıması için sağlanacak bir kolaylıktır.

Sürükle bırak işlemini 3 aşamada yapacağız.

  1. İlk olarak hangi kontroller üzerinde sürükle bırak işlemi yapılacaksa o kontrollerin özellikler penceresinden AllowDrop anahtarlarını true olarak değiştireceğiz.
  2. Verinin bulunduğu kontrolün MouseDown eventine tıklıyoruz. Kodlarımızı yazıyoruz.
  3. Hedef kontrolün DragEnter ve DragDrop eventlerine tıklıyoruz. Kodlarımızı yazıyoruz.
Label Text’ini Textbox’a Taşıma

Örnekte bir label (lblSource) ve bir textbox (txtTarget) olsun. Labelin Text’ini textboxa sürükle bırak yaptırmak için yapmamız gerekenler:

– Her iki kontrolün özelliklerini AllowDrop true olarak değiştireceğiz.
– Label’in MouseDown eventine kodlarımızı yazacağız:

if (e.Button == MouseButtons.Left)
 {
string text = lblSource.Text;
 lblSource.DoDragDrop(text, DragDropEffects.Copy);
 }

– Textbox’un DragEnter olayına yazalım

if (e.Data.GetDataPresent(DataFormats.Text))
 {
 e.Effect = DragDropEffects.Copy;
 }
 else
 {
 e.Effect = DragDropEffects.None;
 }

– Textbox’un DragDrop eventine yazalım

string text = (string)e.Data.GetData(DataFormats.Text);
txtTarget.Text = text;