Aracılığıyla paylaş


Visual C# uygulamasında dosya sürükle ve bırak işlevi sağlama

Bu makalede, Visual C# uygulamasında dosya sürükle ve bırak işlevinin nasıl sağlanıp sağlanmaya başlı olduğu gösterilmektedir.

Özgün ürün sürümü: Visual C++
Özgün KB numarası: 307966

Özet

Bu makalede açıklanan adım adım yordam, Visual C# uygulamasında dosya sürükle ve bırak işlevinin nasıl sağlandığını gösterir. Denetim ListBox , dosya sürükle ve bırak yordamının hedefi olarak kullanılır.

Gereksinimler

Bu listede ihtiyacınız olan önerilen donanım, yazılım, ağ altyapısı ve hizmet paketleri özetlenmiştir: Visual C#.

Bu makalede, aşağıdaki konulara aşina olduğunuz varsayılır:

  • Windows Forms ListBox control
  • Windows Forms event handling

Örneği Derleme Adımları

ListBox denetimi, işlemeniz gereken iki sürükle ve bırak olayı sağlar: DragEnter ve DragDrop. Olay, DragEnter bir nesneyi denetimin sınırları içinde sürüklediğinizde gerçekleşir ve sürüklenen nesnenin denetime bırakılmasına izin vermek istediğiniz nesne olup olmadığını belirlemek için kullanılır. Bu olayı, bir dosya veya dosyaların denetime sürüklendiği durumlar için işlersiniz. Bu, sürüklenen nesneye bağlı olarak, nesne denetimin üzerine sürüklendiğinde uygun simgenin görüntülenmesini sağlar. Olay, DragDrop sürüklenen nesne denetimde serbest bırakıldığında gerçekleşir. Nesneyi almak için bu olayı işlersiniz. Data nesnesi, verileri almak için kullanılır.

Data nesnesinin GetData yöntemi, denetime sürüklenen ListBox dosyaların tam yol adlarını içeren bir dize dizisi döndürür. Dosyalarda gereken işlemleri gerçekleştirmek için bu dosya yolu bilgilerini kullanabilirsiniz. Örneğin, ad alanında System.IO sınıfları kullanarak dosyaları açabilir ve okuyabilir, dosyaları taşıyabilir veya dosyaları yeni bir konuma kopyalayabilirsiniz. Bu örnekte, denetime sürüklenen dosyalara tam yolu eklemeniz gerekir ListBox .

Visual C# uygulamasında dosya sürükle ve bırak işlevi sağlamak için şu adımları izleyin:

  1. Visual C# .NET veya Visual C# 2005'te yeni bir Windows Forms uygulaması oluşturun. Form1 varsayılan olarak oluşturulur.

  2. Form1'e denetim ListBox eklemek için araç kutusunu kullanın.

  3. Özellikler penceresinde, nesnelerin denetime sürüklenebilmesi ListBox için denetimin özelliğini True olarak değiştirinAllowDrop.

  4. Çözüm Gezgini'da Form1'e sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.

  5. Olayı işlemek DragEnter için, Windows Form Tasarımcısı'nın sınıfında oluşturduğu Form1 kod bölümünün altına aşağıdaki yöntemi ekleyin:

    private void listBox1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
    {
        if(e.Data.GetDataPresent(DataFormats.FileDrop))
            e.Effect = DragDropEffects.All;
        else
            e.Effect = DragDropEffects.None;
    }
    
  6. Olayı işlemek DragDrop için, 5. adımda eklediğiniz yöntemin Form1 hemen ardından sınıfına aşağıdaki yöntemi ekleyin:

    private void listBox1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
    {
        string[] s = (string[]) e.Data.GetData(DataFormats.FileDrop, false);
        int i;
        for(i = 0; i < s.Length; i++)
            listBox1.Items.Add(s[i]);
    }
    
  7. İki olay işleyicisini denetim olaylarıyla ilişkilendirmek için çağrısından Form1 sonra InitializeComponentoluşturucuya aşağıdaki kodu ekleyin:

    this.listBox1.DragDrop += new
         System.Windows.Forms.DragEventHandler(this.listBox1_DragDrop);
    this.listBox1.DragEnter += new
         System.Windows.Forms.DragEventHandler(this.listBox1_DragEnter);
    
  8. Projeyi derleyin ve çalıştırın.

  9. Bir veya daha fazla dosyayı masaüstünden veya başka bir klasörden ListBox denetimine sürükleyin. Dosyaların tam yolu denetime ListBox eklenir.

Başvurular

Daha fazla bilgi için aşağıdaki Web sitelerine bakın: