الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تدريب على استخدام خاصية السحب والافلات للبريد باستخدام Aspose.Network

مغلق
بدأه Aspose Arabic في 13 أبريل 2007 · 3 رد · 1,044 مشاهدة · في برمجة الشبكات والتطبيقات الموزعة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ميزة السحب والإفلات للرسائل من Outlook متضمنة في الإصدارات الأخيرة من Aspose.Network مما يمكن المطورين من إنشاء عناصر واجهة رسومية UI تستجيب لأحدات السحب والإفلات .

المثال التاي يوضح كيفية إنشاء Panel بحيث يستطيع المستخدم أن يسحب الرسالة من Outlook ويرميها به وبالتالي يستطيع البرنامج حفظها على شكل ملفات بالامتداد msg.

الخطوة 1: قم بإنشاء تطبيق Windows .

الخطوة 2:إضف reference الى Aspose.Network .

vs1.gif

قم بالاستعراض للملف Aspose.Network.dll وAspose.Windows.Forms.dll وقم بالضغط على موافق .

vs2.gif

الخطوة 3 : إنشأ عنصر الواجهة الرسومية الخاص بك ,نقوم بإنشاء Panel في هذا المثال .إضغط بالزر الأيمكن على مشروعك واختر "Add > new item", قم بإنشاء فئة جديدة Class وتسميتها MyPanel :

vs3.gif

قم بجعل MyPanel كفئة فرعية subclass لـWindows.Form.Panel وقم بإضافة خاصية Aspose.Windows.Forms.FileDropTargetManager الى MyPanel :

[C#]
using System;
using System.Collections.Generic;
using System.Text;
namespace WindowsApplication1
{
	public class MyPanel:System.Windows.Forms.Panel
	{
		private Aspose.Windows.Forms.FileDropTargetManager m;
	}
}

[VB.NET]
Public Class MyPanel
	Inherits System.Windows.Forms.Panel
	Private m As Aspose.Windows.Forms.FileDropTargetManager
End Class

الخطوة 4 : قم بعمل Override OnHandleCreated ودالة OnHandleDestroyed لتسجيل MyPanel باستخدام Aspose.WindowsForms.FileDropTargetManager

[C#]
	public class MyPanel:System.Windows.Forms.Panel
	{
		//hook up
		protected override void OnHandleCreated(EventArgs e)
		{
			this.AllowDrop = true;
			this.m = new Aspose.Windows.Forms.FileDropTargetManager(this);
			this.m.EnsureRegistered(this);
			base.OnHandleCreated(e);
		}
		//unhook
		protected override void OnHandleDestroyed(EventArgs e)
		{
			this.m.EnsureUnRegistered(this);
			base.OnHandleDestroyed(e);
		}
		private Aspose.Windows.Forms.FileDropTargetManager m;
	}

[VB.NET]
Public Class MyPanel
	Inherits System.Windows.Forms.Panel
	'hook up
	Protected Overrides Sub OnHandleCreated(ByVal e As System.EventArgs)
		Me.AllowDrop = True
		m = New Aspose.Windows.Forms.FileDropTargetManager(Me)
		m.EnsureRegistered(Me)
		MyBase.OnHandleCreated(e)
	End Sub
	'un hook
	Protected Overrides Sub OnHandleDestroyed(ByVal e As System.EventArgs)
		m.EnsureUnRegistered(Me)
		MyBase.OnHandleDestroyed(e)
	End Sub
	Private m As Aspose.Windows.Forms.FileDropTargetManager
End Class

الخطوة 5 : قم ببناء المشروع .MyPanel جاهز للاستخدام الان , هذا المكون سيكون قادراً على قبول أحداث السحب والإفلات من Outlook , قم بفتح toolbox panel وقم بسحب وافلات MyPanel داخل فورم تطبيق ويندوز .

vs4.gif

الخطوة 6 : قم بإضافة event handler الى MyPanel حدث DragDrop (لا تنسى أن تقوم بضبط خاصةAllowDrop على true من الخصائص الخاصة بالـ Panel) ثم ضبط الخلفية باللون الذي تريده .

vs5.gif

الخطوة 7 : تطبيق DragDrop event handler , سنقوم ببساطة بحفظ هذه الرسائل من Oulook بشكل ملفات msg. .في البدأ نقوم بعمل cast لـDragEventArgs الى Aspose.Windows.Forms.FileDragEventArgs , والتي تحتوي على خاصة مصفوفة (ملفات) تستند على الرسائل المفلتة من المستخدم .اذا قام المستخدم بسحب رسائل متعددة من Outlook وإفلاتها في MyPanel, الخاصة Files.Count ستحتوي عدد الرسائل,والخاصةFiles[ i ]تحوي كل الرسائل .

[C#]
		private void myPanel1_DragDrop(object sender, DragEventArgs e)
		{
			Aspose.Windows.Forms.FileDragEventArgs args;
			args = (Aspose.Windows.Forms.FileDragEventArgs)e;
			if (args != null && args.Files.Count > 0)
			{
				for (int i = 0; i < args.Files.Count; i++)
				{
					SaveFileDialog dialog = new SaveFileDialog();
					dialog.FileName = args.Files[ i ].FileName;
					if (dialog.ShowDialog() == DialogResult.OK)
					{
						try
						{
							System.IO.FileStream output;
							output = new System.IO.FileStream(dialog.FileName,
System.IO.FileMode.CreateNew);
							args.Files[ i ].Save(output);
							MessageBox.Show("Save success:" + dialog.FileName);
						}
						catch (Exception ex)
						{
							MessageBox.Show("Save failed:" + ex.ToString());
						}
					}
				}
			}
		}

[VB.NET]
	Private Sub MyPanel1_DragDrop(ByVal sender As System.Object, ByVal e As
System.Windows.Forms.DragEventArgs) Handles MyPanel1.DragDrop
		Dim args As Aspose.Windows.Forms.FileDragEventArgs
		args = TryCast(e, Aspose.Windows.Forms.FileDragEventArgs)
		If (args IsNot Nothing) Then
			If ((args.Files IsNot Nothing) AndAlso (args.Files.Count > 0)) Then
				For i As Integer = 0 To args.Files.Count - 1
					Dim saveDialog As New SaveFileDialog
					saveDialog.FileName = args.Files(i).FileName
					saveDialog.ShowDialog(Me)
					Try
						Dim fs As System.IO.FileStream = New
System.IO.FileStream(saveDialog.FileName, System.IO.FileMode.CreateNew)
						args.Files(i).Save(fs)
						fs.Close()
						MessageBox.Show("Save Success." & args.Files(i).FileName)
					Catch ex As Exception
						MessageBox.Show("Save Failed:" & ex.Message)
					End Try
				Next
			End If
		End If
	End Sub

الخطوة 8 : قم بتشغيل التطبيق وإختباره !.ستكون الان قادراً على سحب الرسائل من outlook ورميها في تطبيقك ,وسينبهك التطبيق على حفظ هذه الرسائل على شكل ملفات msg.

vs7.gif

فريق Aspose العربي

arabic@aspose.com

http://arabic.aspose.com

http://www.aspose.com

banner-top-mid.gif

#2

للأسف الشديد أن المنتدى صار فضاء إعلانات تجارية :angry: :angry: :angry:

أين المشرفين!!!

#3

هل صار إعطاء دروس عن استخدام الأدوات البرمجية و شرحها إعلاناً؟

تم تعديل هذه المشاركة بواسطة osmansays في 13 أبريل 2007 في 17:19

#4

الأكواد المشروحة والنوافذا لمضافة ليس بحثا على الثواب وتعليم الناس لأنها لن تفيد في شيء دون أن تكون عندك المكتبتان.

Aspose.Network.dll

Aspose.Windows.Forms.dll

فلماذا لم يضفهما للمقال إن لم تكن له أغراض تجارية؟؟؟؟

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…