Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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:
Visual C# .NET veya Visual C# 2005'te yeni bir Windows Forms uygulaması oluşturun. Form1 varsayılan olarak oluşturulur.
Form1'e denetim
ListBox
eklemek için araç kutusunu kullanın.Özellikler penceresinde, nesnelerin denetime sürüklenebilmesi
ListBox
için denetimin özelliğini True olarak değiştirinAllowDrop
.Çözüm Gezgini'da Form1'e sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.
Olayı işlemek
DragEnter
için, Windows Form Tasarımcısı'nın sınıfında oluşturduğuForm1
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; }
Olayı işlemek
DragDrop
için, 5. adımda eklediğiniz yönteminForm1
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]); }
İki olay işleyicisini denetim olaylarıyla ilişkilendirmek için çağrısından
Form1
sonraInitializeComponent
oluş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);
Projeyi derleyin ve çalıştırın.
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: