آموزش درگ کردن تصویر به pictureBox در سی شارپ به همراه فایل پروژه
در این آموزش قصد داریم تا به کمک سی شارپ یک تصویر را از دسکتاپ بر روی PictureBox موجود در فرم خود درگ یا منتقل کنیم
برای اینکار نیاز داریم تا مراحل زیر را انجام دهیم :
ابتدا یک کامپوننت PictureBox بر روی فرم خود ایجاد کنید :
سپس کد های زیر را در تابع اصلی فرم یعنی InitializeComponent قرار دهید :
public Form1() { InitializeComponent(); pictureBox1.AllowDrop = true; pictureBox1.DragEnter += pictureBox1_DragEnter; pictureBox1.DragDrop += pictureBox1_DragDrop; }
با این کار در واقع شما اجازه درگ شدن فایل و هندلر های آن را ایجاد کرده اید سپس با توابع و event های زیر کار درگ فایل را انجام دهید :
void pictureBox1_DragEnter(object sender, DragEventArgs e) { e.Effect = DragDropEffects.Copy; } void pictureBox1_DragDrop(object sender, DragEventArgs e) { Image img = GetFilename(e); if(img != null) pictureBox1.Image = img; } private Image GetFilename(DragEventArgs e) { Image img = null; string filename = String.Empty; if ((e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy) { Array data = e.Data.GetData("FileDrop") as Array; if (data != null) { if ((data.Length == 1) && (data.GetValue(0) is String)) { filename = ((string[])data)[0]; string ext = Path.GetExtension(filename).ToLower(); if ((ext == ".jpg") || (ext == ".png") || (ext == ".bmp")) { img = Bitmap.FromFile(filename); return img; } } } } return null; }
در تابع getFileName ما اطلاعات فایل درگ شده را استخراح و چک میکنیم که اگر فرمت فایل یکی از فرمت های jpg, png و یا bmp بود آن را در picturebox قرار بده در غیر این صورت هیچ کاری انجام نده.
فایل پروژه را میتوانید از بخش پایین دانلود کنید :
حجم فایل : 50kb
رمز فایل : www.hypersource.ir
برای دانلود اینجا کنید