كيفية القيام بما يلي: معالجة أحداث البيئة في وحدات الماكرو

كل جديد صواب يتضمن وحدة نمطية تسمى EnvironmentEvents ، وهو مرئية فقط في IDE لوحدات الماكرو. هذا هو عنصر قالب يحتوي على عدد من الإجراءات حدث المعرّفة مسبقاً المفيدة التي يمكن تطبيق في وحدات الماكرو الخاص بك بشكل خاص:

يمكنك عرض هذه الإجراءات الحدث في browers الكائن في محرر تعليمات برمجية.

إدراج إجراء حدث المعرفة في الماكرو الخاص بك

  1. من عرض فئة المستكشف الجزء في IDE لوحدات الماكرو ينقر مزودجا العقدة EnvironmentEvents لعرضه كعلامة تبويب EnvironmentEvents و قائمة منسدلة جزء المحرر الماكرو.

  2. من EnvironmentEvents صواب - لأسفل القائمة ، حدد نوع أحداث مثل TaskListEvents. يتم الآن تعبئة مربع التحرير والسرد Declarations صواب الأحداث المتوفرة قائمة المهام.

  3. من القائمة متعدد المنسدلة على مستوى Declarations حدد حدثاً مثل TaskAdded ، صواب إضافة إجراء حدث به صواب الوحدة النمطية.

يتم إدراج الحدث في الماكرو ثم يمكنك الآن إضافة تعليمات برمجية إلى إجراء الحدث.

في بعض الحالات، قد تحتاج إلى صواب من إجراءات الأحداث إلى تحرير وسرد اسم فئة مربع ، على سبيل المثال، في CommandEvents الأحداث.

إضافة إجراء حدث جديد

لإضافة إجراء حدث جديد إلى مربع تحرير وسرد "اسم فئة"

  1. إدخال تعريف الحدث بعد المنطقة المخفية EnvironmentEvents صواب المسماة "تلقائياً إنشاء التعليمات البرمجية ، لا تقم بتعديل":

    <System.ContextStaticAttribute()> Public WithEvents CommandEvents As EnvDTE.CommandEvents
    ' This procedure handles DTEEvents.OnMacrosRuntimeReset.
    
  2. إعداد الإجراء OnMacrosRuntimeReset بحيث تهيئة متغير حدث جديد كل مرة يتم إعادة تشغيل ماكرو:

    Public Sub DTEEvents_OnMacrosRuntimeReset() Handles _
      DTEEvents.OnMacrosRuntimeReset
       CommandEvents = DTE.Events.CommandEvents
    End Sub
    
  3. إعداد الإجراء OnStartupComplete لإكمال الإجراء التهيئة في الخطوة 5.

    Private Sub DTEEvents_OnStartupComplete() Handles_
      DTEEvents.OnStartupComplete
            CommandEvents = DTE.Events.CommandEvents
    End Sub
    
  4. إضافة تعليمة برمجية استجابة إلى الحدث. في هذا المثال، بعد تنفيذ أمر يسجل هذا الإجراء تشغيل تفاصيل الأمر الذي تم إصدار:

    Public Sub CommandEvents_AfterExecute(ByVal Guid As String, ByVal ID As Integer, ByVal CustomIn As Object, ByVal CustomOut as Object) Handles CommandEvents.AfterExecute
       MsgBox(DTE.Commands.Item(Guid, ID).Name)
    End Sub
    

عندما تقوم بتعريفه حدث جديد عليك أولاً تهيئته في ترتيب إلى استخدامه. بالنسبة لوحدات الماكرو المكان صواب متغير حدث جديد قيد OnMacrosRuntimeReset إجراء الحدث.

يحدث هذا الحدث عندما يكون وقت التشغيل الماكرو يعيد تعيين المعاملة مثل عند تحميل ماكرو أو تم إلغاء تحميلها. عند حدوث ذلك، هناك ضياع الولاية العمومية. أي، قيم المتغيرات العمومية تُفقد و معالجات الأحداث unhooked بمعنى تعليمات برمجية التي يتم تنفيذها عند حدوث حدث ما لم يعد سابقاً يقوم بذلك.

عند إعادة تعيين وقت تشغيل صواب's ، OnMacrosRuntimeReset الحدث. وهذا ما يسمح تلقائياً re-يهيّئ معالجات الأحداث كلما ماكرو والمتغيرات وقت التشغيل حدوث إعادة التعيين. قبل تهيئة المتغيرات أحداث ومعالجات في OnMacrosRuntimeReset ، تأكد من أن القيم الخاصة بها هي reinitialized كل مرة يكون وقت تشغيل صواب's إعادة تعيين وبالتالي ، التي تعمل الإجراءات "الحدث" الجديدة بشكل صحيح.

راجع أيضًا:

المهام

كيفية القيام بما يلي: سجل الماكرو

كيفية القيام بما يلي: تشغيل وحدات الماكرو

كيفية القيام بما يلي: سجل الماكرو

كيفية القيام بما يلي: إدارة وحدات الماكرو

كيفية القيام بما يلي: مرجع COM ومكونات .NET Framework في وحدات الماكرو

المبادئ

أتمتة الإجراءات المتكررة باستخدام وحدات الماكرو

تصحيح الأخطاء وحدات الماكرو

مشكلات تسجيل الماكرو وتشغيلها

مشكلات الأمان والمشاركة مع وحدات الماكرو.