Makale numarası: 307966 - Son Gözden Geçirme: 30 Temmuz 2008 Çarşamba - Gözden geçirme: 3.0

Nasıl yapılır: Visual C# uygulamadaki dosya Sürükle ve bırak işlevselliği sağlar.

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.

Bu Sayfada

Hepsini aç | Hepsini kapa

Özet

Bu makalede özetlenen yordamı hakkında adım adım bir Visual C# uygulamasında dosyanın sürükle ve bırak işlevselliği sağlamak gösterilmiştir. Bir liste kutusu denetimi, hedef dosyanın sürükle ve bırak yordamın olarak kullanılır.

Gereksinimler

Bu listede önerilen donanım, yazılım, ağ altyapısı ve gereken hizmet paketleri özetlenmektedir:
  • Visual C#
Bu makalede, aşağıdaki konularda bilgi sahibi olduğunuz varsayılmaktadır:

  • Windows Forms liste kutusu denetimi
  • Windows Forms olay işleme

Örnek oluşturma adımları

ListBox denetiminin işlemek için gereken iki Sürükle ve bırak olayları sağlar: DragEnter ve DragDrop. Bir nesne denetimin sınırları içinde sürükleyin ve Sürüklenmekte olan nesneyi bir denetimde kesilmesine izin vermek istediğiniz olup olmadığını belirlemek için kullanılan DragEnter olayı oluşur. Bu olay, bir dosya veya denetime sürüklenmekte servis talepleri için tanıtıcı. Bu nesnenin Sürüklenmekte olan nesneye bağlı olarak denetim üzerine sürüklendiğinde görüntülenecek ilgili simgeyi sağlar. Sürüklenmekte olan nesne denetimi yayımlanmıştır DragDrop olayı oluşur. Nesneyi almak için bu olay tanıtıcısı. Veri nesnesi, verileri almak için kullanılır.

GetData yöntemi veri nesnesinin ListBox denetimine sürüklenmekte dosyaların tam yol adlarını içeren bir dize dizisi verir. Bu dosya yol bilgisi, dosyalar üzerinde hangi işlemleri gereken gerçekleştirmek için kullanabilirsiniz. Örneğin, sınıfları System.ıo ad boşluğunda açmak ve dosyaları okumak için kullanabileceğiniz, dosyaları taşıyın veya dosyaları yeni bir konuma kopyalayın. Bu örnekte, yalnızca tam yolu ListBox denetimine sürüklenmekte dosyaları ekleyin.

Bir Visual C# uygulamasında dosyanın sürükle ve bırak işlevselliği sağlamak için <a0></a0>, aşağıdaki adımları izleyin:
  1. Yeni Windows Forms uygulaması, Visual C# .NET veya Visual C# 2005 oluşturun. Varsayılan olarak, Form1 oluşturulur.
  2. Araç, bir liste kutusu denetimi Form1'e eklemek için kullanın.
  3. Properties penceresinde, nesneleri, denetimin sürüklediğiniz izin vermek için doğruListBox denetiminin AllowDrop'u özelliğini değiştirin.
  4. Solution Explorer'da (Çözüm Gezgini), Form1'ı sağ tıklatın ve Kod Görüntüle</a1>'ı tıklatın.
  5. DragEnter olay işlemek için <a0></a0>, Windows Form tasarımcısının Form1 sınıfında oluşturduğu kodu bölümün altında 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. DragDrop olay işlemek için <a0></a0>, yöntem 5. adımda eklediğiniz hemen Form1 sınıfı için 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. Iki olay işleyicilerini denetim olayları ilişkilendirmek için <a0></a0>, ınitializecomponent çağrısının içinde <a2>Form1</a2> kurucusunu 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. Oluşturup projeyi çalıştırın.
  9. Bir veya daha çok dosyayı masaüstüne veya başka sürükleyin ListBox denetimine klasör. Dosyanın tam yolunu ListBox denetimine eklendiğini unutmayın.

Referanslar

Daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitelerine bakın:
Control.DragEnter olayı
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.dragenter(VS.71).aspx (http://msdn.microsoft.com/en-us/library/system.windows.forms.control.dragenter(vs.71).aspx)

Control.DragDrop olayı
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.dragdrop(VS.71).aspx (http://msdn.microsoft.com/en-us/library/system.windows.forms.control.dragdrop(vs.71).aspx)

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005
  • Microsoft Visual C# .NET 2002 Standard Edition
Anahtar Kelimeler: 
kbmt kbsweptvs2008 kbhowtomaster kbsample KB307966 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:307966  (http://support.microsoft.com/kb/307966/en-us/ )