تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
إرسال بريد إلكتروني بتنسيق html + إضافة ملفات مرفقة للرسالة (شرح بالصور)
#4
تفضل أخي الطريقة :
لكن ليس عن طريق الأداة OpenFileDialog لأنك عندما تفتح هذة الأداة تصبح الأدوات في النافذة السابقة متجمدة لا تستجيب لأي شيء لذلك لا تستطيع السحب والإفلات في النافذة السابقة لأنها ستصبح Disabled مشلولة .
إفتح أي مجلد في جهازك وليكن My Documents أو مجلداتي أو أي مجلد في جهازك ,, ثم قم بسحب الملفات إلى الأداة Attachment_ListBox
هذة الصورة متحركة تبين عملية السحب والإفلات




لا تنسى أن تغير هذة الخاصية



في هذا الحدث (DragEnter) سنقوم بالتحقق من البيانات المسحوبة فوق أداة اللست بوكس (Attachment_ListBox)
إذا كانت البيانات من النوع الذي نريدة سيتغير مؤشر الماوس ,,
نفس الذي يحدث في نظام الملفات الخاص بالوندوز عندما تسحب ملف من مجلد وتريد أن تنقلة إلى مجلد آخر
رمز برمجي:


Private Sub Attachment_ListBox_DragEnter(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Attachment_ListBox.DragEnter If e.Data.GetDataPresent(DataFormats.FileDrop) Then ' إذا تحقق الشرط سنسمح بعملية السحب والإفلات e.Effect = DragDropEffects.Copy Else ' إذا لم يتحقق لن يحدث شيء e.Effect = DragDropEffects.None End If End Sub



هذا الحدث الخاص بالإفلات فوق الأداة Attachment_ListBox حيث أن البيانات المسحوبة هي ملفات تم سحبها من مجلد
البيانات في الحقيقة هي مسارات الملفات المسحوبة وليس بيانات الملفات نفسها
رمز برمجي:


Private Sub Attachment_ListBox_DragDrop(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles Attachment_ListBox.DragDrop ' من نوع مصفوفة نصية والذي سيحمل عناوين جميع الملفات file_names هنا قمت بعمل متغير اسمة ' كيف نتحقق من أن البيانات المسحوبة فوق الأداة هي من نوع ملفات ' DataFormats.FileDrop عن طريق البراميتر Dim File_Names As String() = DirectCast(e.Data.GetData(DataFormats.FileDrop), String()) ' file_names هنا سندخل في حلقة تكرارية لنقوم بإضافة جميع الملفات الموجودة في المصفوفة For Each FileName As String In File_Names ' هذة المجموعة الأصلية التي تحمل عنوان الملف بالكامل والتي سيتم تفريغها في الرسالة Me.AttachmentCollection.Add(FileName) '- سيتم إضافة إسم الملف هنا فقط ليراه المستخدم في المثال وليس المسار بالكامل Attachment_ListBox.Items.Add(My.Computer.FileSystem.GetName(FileName)) ' بما أننا قمنا بإضافة ملفات فيجب أن نفعل الزر الخاص بحذفها DeleteSelectedAttachment.Enabled = True Next FileName End Sub

قم بإضافة الحدثين السابقين إلى المشروع (أقصد المشروع الذي قمت بالشرح علية في هذا الموضوع)



تحياتي لك ,,
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
إرسال بريد إلكتروني بتنسيق html + إضافة ملفات مرفقة للرسالة (شرح بالصور) - بواسطة m.sami.ak_mybb_import4434 - 15-09-12, 12:33 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  نظرة على DropBox SDK و التعامل معها +برنامج رفع و تحميل ملفات ابو ليلى 5 5,969 16-08-24, 04:39 PM
آخر رد: ackore
  إضافة و نسخ الخطوط الخاصّة لمجلّد خطوط الوينداوز عبد العزيز البسكري 2 4,198 08-05-23, 12:03 AM
آخر رد: ابو محمد محمد محمد
  [درس فيديو] اضافة ملف مشغل لصفحة html و جافاسكريبت و سي اس اس بفيجوال بيسك.(قد لا اكون اصبت بالتع سعود 1 1,464 17-04-23, 08:31 AM
آخر رد: سعود
  دمج ملفات المشروع ابو روضة 4 2,095 11-11-22, 09:50 PM
آخر رد: ابو روضة
  [مقال] إضافة تقارير Crystal report إلى فيجوال 2010 اسامه الهرماوي 3 6,105 05-10-21, 01:38 PM
آخر رد: mohameddahab867
Lightbulb [مقال] التعامل مع ملفات اوفيس من خلال مكتبة NPOI ابو ليلى 2 4,616 01-07-21, 11:42 AM
آخر رد: kebboud
  [مقال] إضافة خاصية التحجيم التلقائي - AutoSize - إلى أداة مربع النص - TextBox sooriaty03 10 12,811 21-03-21, 09:53 PM
آخر رد: عبد الهادي بهاب
  طريقة إضافة اختصار للصنف في شاشة المبيعات ملهمـ 5 6,420 14-07-20, 12:24 PM
آخر رد: ابراهيم ايبو
  عمل ملفات dll بالفيجول.net hosney 6 8,506 31-01-19, 04:45 PM
آخر رد: alsouf
  إضافة نغمات إفتتاحيّة أثناء تسطيب البرنامج عبد العزيز البسكري 11 7,888 23-01-19, 08:35 PM
آخر رد: عبد العزيز البسكري

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم