در سورس کد زیر خواهید دید که چگونه میشود فایل ها را از سیستم خود کشیده و در لیست باکس فرم خود رها کنید و فایل ها به آن اضافه شوند. مانند این عکس:
مجموعه دوره آموزش برنامه نویسی - مقدماتی تا پیشرفته
کد برنامه :
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 نمایید.