wyDay पर यह blog post समाधान है।
यह एक 3 हिस्सा ".NET में शेल शैली खींचें और छोड़ें" कहा जाता है श्रृंखला के लिए लिंक:
भाग this archive को 3 लिंक, जिसमें परियोजनाओं का एक पूरा समूह शामिल है। ध्यान दें कि संकलित करने के लिए, आपको असुरक्षित कोड की अनुमति देने के लिए DragDropLib और WpfDragDropLib प्रोजेक्ट्स सेट करने की आवश्यकता हो सकती है।
वहाँ नमूने के अंदर है, लेकिन सुविधा के लिए, यहाँ एक उद्धरण है:
#region Drop target accepting FileDrop
private void textBox2_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
{
e.Effect = e.AllowedEffect & DragDropEffects.Copy;
DropTargetHelper.DragEnter(textBox2, e.Data, new Point(e.X, e.Y), e.Effect, "Copy to %1", "Here");
}
else
{
e.Effect = DragDropEffects.None;
DropTargetHelper.DragEnter(textBox2, e.Data, new Point(e.X, e.Y), e.Effect);
}
}
private void textBox2_DragOver(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = e.AllowedEffect & DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
DropTargetHelper.DragOver(new Point(e.X, e.Y), e.Effect);
}
private void textBox2_DragLeave(object sender, EventArgs e)
{
DropTargetHelper.DragLeave(textBox2);
}
private void textBox2_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = e.AllowedEffect & DragDropEffects.Copy;
else
e.Effect = DragDropEffects.None;
DropTargetHelper.Drop(e.Data, new Point(e.X, e.Y), e.Effect);
if (e.Effect == DragDropEffects.Copy)
AcceptFileDrop(textBox2, e.Data);
}
#endregion // Drop target accepting FileDrop
मेरे प्रयोग से ऐसा लगता है कि मैं सिर्फ e.Effect = DragDropEffects.Copy;
बजाय e.Effect = e.AllowedEffect & DragDropEffects.Copy;
लिख सकते हैं; हालांकि मैं वर्तमान में समझ नहीं पा रहा हूं कि &
क्या है, इसलिए कोई भी इसके साथ मेरी सहायता करने में सक्षम हो सकता है। साथ ही, ऐसा लगता है कि टेक्स्ट ड्रॉप प्रकार विवरण टूलटिप नहीं दिखाएगा।
अन्यथा, मैं निश्चित रूप से इससे बहुत खुश हूं।
आशा है कि इससे इस मुद्दे के साथ किसी को भी मदद मिलेगी।
ओह, आइकन के साथ? मुझे तब इसके बारे में पता नहीं है (मान लीजिए कि आप WinForms का उपयोग कर रहे हैं)। – BoltClock