إدارة أجزاء مهام مخصصة في تطبيقات Windows متعددة
ينطبق على |
---|
تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع. نوع المشروع
تطبيق Microsoft Office
|
عند إنشاء جزء مهام مخصص في تطبيق يستخدم عدة نوافذ لعرض المستندات والعناصر الأخرى, تحتاج إلى اتخاذ خطوات إضافية للتأكد من أن جزء المهام مرئي عندما يتوقع المستخدم أن يكون كذلك.
أجزاء المهام المخصصة في كافة التطبيقات مرتبطة مع نافذة إطار المستند، التي تقدم طريقة عرض مستند أو عنصر للمستخدم. يكون جزء المهام مرئياً فقط عندما تكون النافذة المقترنة مرئية. ومع ذلك، لا تستخدم كافة التطبيقات نوافذ إطار المستند بنفس الطريقة.
مجموعات التطبيقات التالية لها متطلبات تطوير مختلفة:
Outlook
Word و InfoPath
Excel و PowerPoint
للحصول على عرض فيديو توضيحي ذي صلة، راجع كيف يمكنني القيام بما يلي: إدارة أجزاء المهام في وظائف Word الإضافية ؟.
Outlook
عند إنشاء جزء مهام مخصص لـ Outlook، جزء المهام المخصص يكون مقترناً بنافذة المستكشف أو المتفحص المعينة. المستكشفات هى نوافذ تعرض محتويات المجلد و المتفحصات هي نوافذ تعرض أحد العناصر مثل رسالة بريد إلكتروني أو مهمة.
إذا كنت ترغب في عرض جزء مهام مخصص بأكثر من نوافذ مستكشف أو متفحص، تحتاج إلى إنشاء مثيل جديد من جزء المهام المخصص عند فتح نوافذ المستكشف أو المتفحص. للقيام بذلك، قم بمعالجة الحدث الذى تم رفعه عند إنشاء نافذة مستكشف أو متفحص, ثم قم بإنشاء جزء المهام في معالج الأحداث. يمكنك أيضاً معالجة أحداث المستكشف و المتفحص لإخفاء أو عرض المهام استنادًا إلى أى نافذة تكون مرئية.
لإقران جزء المهام مع مستكشف أو متفحص معين، استخدم الأسلوب CustomTaskPaneCollection.Add(UserControl, String, Object) لإنشاء جزء المهام و مرر الكائن Explorer أو Inspector إلى المعلمة window. لمزيد من المعلومات حول أجزاء المهام المخصصة راجع نظرة عامة على أجزاء الإجراءات المخصصة.
للحصول على إرشادات تفصيلية توضح كيفية إنشاء جزء مهام لكل رسالة بريد إلكتروني مفتوحة, راجع الإرشادات التفصيلية: عرض أجزاء المهام المخصصة مع رسائل البريد الإلكتروني في Outlook.
أحداث Outlook
لمراقبة حالة مستكشف Windows, يمكنك معالجة الأحداث التالية المتعلقة بالمستكشف :
لمراقبة حالة مستكشف Windows, يمكنك معالجة الأحداث التالية المتعلقة بالمستكشف:
منع مثيلات متعددة من جزء مهام مخصص في Outlook
لمنع نوافذ Outlook من عرض مثيلات متعددة من جزء مهام مخصص، قم صراحة بإزالة جزء المهام المخصص من مجموعة CustomTaskPanes للفئة ThisAddIn عند إغلاق كل نافذة. قم باستدعاء الأسلوب Remove في أحد الأحداث التي يتم رفعها عند إغلاق نافذة مثل ExplorerEvents_10_Event.Close أو InspectorEvents_10_Event.Close.
إذا لم تقم بإزالة جزء المهام المخصص بشكل صريح ، قد تعرض نوافذ Outlook مثيلات متعددة من جزء المهام المخصص. Outlook أحياناً يلقى بالنوافذ فى سلة المحذوفات، و تحتفط النوافذ الملقاة فى سلة المحذوفات بمراجع إلى أي جزء مهام مخصص تم إرفاقه بها.
Word و InfoPath
تعرض Word و InfoPath كل مستند في نافذة إطار مستند مختلفة. عند إنشاء جزء مهام مخصص لهذه التطبيقات, يقترن جزء المهام المخصص بالمستند المعين فقط. في حالة قيام المستخدم بفتح مستند مختلف،يتم اخفاء جزء المهام المخصص إلى أن يعود المستند السابق مرئياً مرة أخرى.
إذا كنت ترغب في عرض جزء مهام مخصص بمستندات متعددة، قم بإنشاء مثيل جديد من جزء مهام مخصص عند قيام المستخدم بإنشاء مستند جديد أو فتح مستند موجود. للقيام بدلك,قم بمعالجة أحداث التى يتم رفعها عند إنشاء مستند أو فتحه ثم قم بإنشاء جزء المهام في معالجات الأحداث. يمكنك أيضاً معالجة أحداث المستندات لإخفاء أو عرض أجزاء المهام استنادًا إلى أى مستند مرئي.
لربط جزء المهام بنافذة مستند معين، استخدم CustomTaskPaneCollection.Add(UserControl, String, Object) لإنشاء جزء مهام و مرر المعلمة Microsoft.Office.Interop.Word.Window (لـ Word) أو WindowObject (لـ InfoPath) إلى window.
لمزيد من المعلومات، راجع إدارة إجزاء مهام في مستندات Word و InfoPath متعددة.
أحداث Word
لمراقبة حالة نوافذ المستند في Word، يمكنك معالجة الأحداث التالية:
أحداث InfoPath
لمراقبة حالة نوافذ المستند في InfoPath، يمكنك معالجة الأحداث التالية:
NewXDocument()
WindowActivate()
WindowDeactivate()
XDocumentBeforeClose()
XDocumentOpen()
Excel و PowerPoint
يقوم PowerPoint وExcel بإنشاء نافذة إطار مستند واحدة لكافة المستندات (أي، للمصنفات و العروض التقديمية). عند إنشاء جزء مهام مخصص في هذه التطبيقات، جزء المهام متوفر لكل مستند مفتوح في التطبيق. ليس هناك أي عمل إضافي مطلوب منك للتأكد من عرض جزء المهام لكل مستند.
ومع ذلك، استناداً إلى أي مستند يكون نشطاً، قد تحتاج إلى إخفاء أو عرض جزء المهام أو قد تحتاج إلى عرض عناصر أو بيانات واجهة مستخدم مختلفة في جزء المهام. للقيام بدلك, قم بمعالجة الأحداث التى يتم رفعها عند إنشاء مستند أو فتحه أو تنشيطه، ثم قم بتحديث جزء المهام في معالجات الأحداث.
أحداث Excel
لمراقبة حالة المصنفات في Excel يمكنك معالجة الأحداث التالية:
أحداث PowerPoint
لمراقبة حالة العروض التقديمية في PowerPoint يمكنك معالجة الأحداث التالية:
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterNewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.AfterPresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.NewPresentation
Microsoft.Office.Interop.PowerPoint.EApplication_Event.PresentationOpen
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowActivate
Microsoft.Office.Interop.PowerPoint.EApplication_Event.WindowDeactivate
المثال
WorkbookActivateقم بإنشاء واجهة جديدة باسم، وذلك بتعديل التعريففئة حيث أنه يطبقواجهة. SalesData.xlsيفتح أيضاISheet1.cs ملف في محرر تعليمات برمجية. لتشغيل هذا المثال قم باستبدال معالج الحدث ThisAddIn_Startup الافتراضي في الفئة ThisAddIn بالتعليمات البرمجية التالية. يفترض هذا المثال أن هذا المشروع يتضمن UserControl باسم UserControl1.
Dim myUserControl As UserControl1
Dim myCustomTaskPane As Microsoft.Office.Tools.CustomTaskPane
Private Sub ThisAddIn_Startup(ByVal sender As Object, ByVal e As System.EventArgs) _
Handles Me.Startup
myUserControl = New UserControl1()
myCustomTaskPane = Me.CustomTaskPanes.Add(myUserControl, "Sales Task Pane")
End Sub
Private Sub Application_WorkbookActivate(ByVal Wb As Excel.Workbook) _
Handles Application.WorkbookActivate
If Wb.Name = "SalesData.xlsx" Then
myCustomTaskPane.Visible = True
Else
myCustomTaskPane.Visible = False
End If
End Sub
private UserControl1 myUserControl;
private Microsoft.Office.Tools.CustomTaskPane myCustomTaskPane;
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
this.Application.WorkbookActivate += new Excel.AppEvents_WorkbookActivateEventHandler(
Application_WorkbookActivate);
myUserControl = new UserControl1();
myCustomTaskPane = this.CustomTaskPanes.Add(myUserControl, "Sales Task Pane");
}
void Application_WorkbookActivate(Excel.Workbook Wb)
{
if (Wb.Name == "SalesData.xlsx")
myCustomTaskPane.Visible = true;
else
myCustomTaskPane.Visible = false;
}
راجع أيضًا:
المهام
كيفية القيام بما يلي: إضافة جزء مهام مخصص إلى تطبيق ما
الإرشادات التفصيلية: عرض أجزاء المهام المخصصة مع رسائل البريد الإلكتروني في Outlook
كيفية القيام بما يلي: عرض أجزاء مهام مخصصة مع رسائل بريد إلكتروني في Outlook
الإرشادات التفصيلية: مزامنة جزء المهام المخصص مع زر الشريط