كيفية القيام بما يلي: إنشاء معالج حدث في ماكرو لنوع معين من مشروع

قالب EnvironmentEvents التي يتم مُضمنها في كل مشروع ماكرو يحتوي على رقم معالجات الأحداث pre-declared. معالجات الأحداث هذه يمكن تطبيق للاستجابة إلى عدد الأحداث البيئة مثل عبارة ختامية نافذة وهكذا. بمجرد التطبيق يتم توفير هذه القابلية للتوسعة العامة صواب معالجات تلقائياً تعترض المحدد صواب كلما كان يحدث في Visual Studio بيئة التطوير المتكاملة (IDE). لمزيد من المعلومات، راجع كيفية: معالجة الأحداث بيئة في وحدات الماكرو.

يمكنك أيضاً إضافة معالجات الأحداث IDE الخاصة بك إلى قالب EnvironmentEvents. قم بتعريف متغير حدث قم بتوفير رمز معالج الحدث الخاص به، و صواب OnMacrosRuntimeReset و OnStartupComplete معالجات لأتمتة اعتراض الحدث في Visual Studio IDE.

يضيف هذا المثال ReferencesEvents معالج الأحداث الذي وقع عند إضافة مرجع إلى #Visual C أو Visual Basic المشروع.

ملاحظة

قد تختلف مربعات الحوار وأوامر القائمة التى تشاهدها الان عن تلك الموصوفة في التعليمات اعتماداً على الإعدادات النشطة أو الإصدار الخاص بك. تم تطوير هذه الإجراءات من خلال "إعدادات تطوير عام" النشط. لتغيير الإعدادات الخاصة بك, اختر إعدادات الاستيراد و التصدير ضمن القائمة أدوات . لمزيد من المعلومات، راجع العمل مع إعدادات.

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

  1. في "IDE لوحدات الماكرو تشغيل فوق القائمة مشروع إضافة مرجع .

  2. تشغيل مربع حوار إضافة المرجع، تحديد VSLangProj ، انقر فوق ‏‏موافق ثم إضافة.

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

  4. أعلى النمطية EnvironmentEvents إضافة:

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

    <System.ContextStaticAttribute()> Public WithEvents refEvents As VSLangProj.ReferencesEvents
    

    يضيف هذا التعريف ReferencesEvents والأساليب الخاصة به إلى اسم فئة "و" اسم أسلوب صواب - لأسفل مربعات في محرر التعليمات البرمجية IDE لوحدات الماكرو.

  6. استخدام اسم فئة صواب - المربع المنسدل على حدد DTEEvents ، و اسم أسلوب صواب - المربع المنسدل على حدد OnMacrosRuntimeReset و OnStartupComplete.

    يؤدي هذا إلى إنشاء معالجات الأحداث للأحداث اثنين. الضرورية هذه معالجات الأحداث الخاص بك ReferencesEvents معالج أن يوقف الأحداث في كل مرة يقومون يحدث في تلقائياً Visual Studio صواب.

  7. تعديل معالجات الأحداث بإضافة EnvironmentEvents.refEvents تحويل كما هو موضح أدناه. أن يوقف حدث عندما تتم إضافة مرجع إلى Visual Basic المشروع, باستبدال السلسلة CSharpReferencesEvents صواب VBReferencesEvents.

    Public Sub DTEEvents_OnMacrosRuntimeReset() Handles_
     DTEEvents.OnMacrosRuntimeReset
            EnvironmentEvents.refEvents_
            =CType(DTE.Events.GetObject("CSharpReferencesEvents")_
            , ReferencesEvents)
    End Sub
    

    و

    Private Sub DTEEvents_OnStartupComplete() Handles_
     DTEEvents.OnStartupComplete
            EnvironmentEvents.refEvents_
            = CType(DTE.Events.GetObject("CSharpReferencesEvents")_
            , ReferencesEvents)
    End Sub
    
  8. وأخيراً، قم بلصق التعليمة البرمجية التالية في الوحدة النمطية EnvironmentEvents أو حدد refEvents من مربع متعدد المنسدلة على مستوى اسم فئة و ReferenceAdded من المربع متعدد المنسدلة على مستوى اسم أسلوب صواب إنشاء معالج أحداث. صواب الخط، MsgBox(pReference.Name & " was added to the project.") ، إلى معالج الأحداث كما هو موضح أدناه.

    Public Sub refEvents_ReferenceAdded(ByVal pReference As VSLangProj.Reference) Handles refEvents.ReferenceAdded
            MsgBox(pReference.Name & " was added to the project.")
    End Sub
    
  9. صواب اختبار معالج الأحداث قم بإنشاء جديد #Visual C المشروع من أي نوع.

    يظهر مربع رسالة من أجل كل مرجع يضاف تلقائياً إلى قالب مشروع.

مثال

توضح التعليمة البرمجية الموجودة في المثال التالي ذلك يمكنك لصق تعليمات برمجية أدناه في وحدة نمطية EnvironmentEvents المشروع وحدات الماكرو.

ملاحظة

بعد تمت الإضافة معالج الحدث هذا بالالتقاط كل مرة يتم فيها تمت الإضافة مرجع إلى نوع المشروع المحدد. إذا لم تكن تريد إلى إعلامك في كل مرة تتم تمت الإضافة مرجع تعليق خارج هذه التعليمة البرمجية.

<System.ContextStaticAttribute()> Public WithEvents refEvents As VSLangProj.ReferencesEvents
Public Sub DTEEvents_OnMacrosRuntimeReset() Handles_
 DTEEvents.OnMacrosRuntimeReset
        EnvironmentEvents.refEvents= _
        CType(DTE.Events.GetObject("CSharpReferencesEvents")_
        , VSLangProj.ReferencesEvents)
End Sub
Private Sub DTEEvents_OnStartupComplete() Handles_
 DTEEvents.OnStartupComplete
        EnvironmentEvents.refEvents = _
        CType(DTE.Events.GetObject("CSharpReferencesEvents")_
        , VSLangProj.ReferencesEvents)
End Sub
Public Sub refEvents_ReferenceAdded(ByVal pReference As VSLangProj.Reference) Handles refEvents.ReferenceAdded
        MsgBox(pReference.Name & " was added to the project.")
End Sub

راجع أيضًا:

المهام

كيفية القيام بما يلي: أحداث مؤشر في ماكرو

كيفية القيام بما يلي: معالجة أحداث التنفيذ التلقائي (‏‫#Visual C)

كيفية القيام بما يلي: معالجة أحداث التنفيذ التلقائي (‏‫#Visual C)

موارد أخرى

استجابة إلى أحداث (Visual Basic و ‏‫#Visual C المشاريع)

استجابة إلى أحداث التنفيذ التلقائي