در کد زیر خواهید دید که چگونه میشود فایل ها را از سیستم خود کشیده و در لیست باکس فرم خود رها کنید و فایل ها به آن اضافه شوند :
کد:
private void listBox1_DragDrop(object sender, DragEventArgs e)
{
string [] allfiles = (string[])e.Data.GetData(DataFormats.FileDrop,
false);
int n = allfiles.Length;
for (int i = 0; i < n; i++)
listBox1.Items.Add(allfiles[i]);
}
private void listBox1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop))
e.Effect = DragDropEffects.All;
else
e.Effect = DragDropEffects.None;
}
در کد فوق ، در تابع اول ، آدرس یا Filename فایل ها درون یک آرایه String ذخیره میشوند به لیست باکس
اضافه میشوند. اما قبل از آن تابع دوم باید ست شود . این تابع میگوید که هر نوع فایل از اکسپلورر ویندوز را
قبول کن.
در تابع دوم پارامتر DataFormat نوع فایل را برمیگرداند که FileDrop منظور نوع فایل ویندوزی است .
نکته : فقط خاصیت AllowDrop لیست باکس را باید True نمایید.