2009-02-23 8 views
5

समाधान जोड़ने पर मेरा ऐड-इन कैसे पता लगा सकता है? मुझे पता है कि डीटीई मॉडल में कहीं कुछ घटना होनी चाहिए, लेकिन मुझे यह नहीं मिल रहा है। विजुअल स्टूडियो लोड होने पर मेरा ऐड-इन लोड होता है, लेकिन यह एक समाधान को खोलने पर निर्भर करता है। जब तक एमएस COM पर उनके बीमार निर्धारण को खो देता है, तब तक मैं इसे एक समाधान ऐड-इन नहीं बनाना चाहता, क्योंकि समाधान ऐड-इन्स को COM घटक होना चाहिए।एक समाधान लोड होने पर ऐड-इन कैसे पता लगा सकता है?

उत्तर

8

यहाँ सी # का उपयोग कर ईवेंट प्रबंधन के लिए रजिस्टर करने के लिए बताया गया है:

_solutionEvents = _applicationObject.Events.SolutionEvents; 
_solutionEvents.Opened += new _dispSolutionEvents_OpenedEventHandler(SolutionOpened); 
_solutionEvents.AfterClosing += new _dispSolutionEvents_AfterClosingEventHandler(SolutionClosed); 

भी ध्यान रखें कि जब उपयोगकर्ता एक समाधान फ़ाइल पर डबल क्लिक करके दृश्य स्टूडियो खुलने पर, आपको समाधान खोलने के लिए एक घटना नहीं मिलेगा। आपको यह जांचना चाहिए कि _applicationObject.Solution इस स्थिति को सही ढंग से संभालने के लिए OnStartupComplete विधि में शून्य नहीं है।

खोला:

0

MSDN पर SolutionEvents वर्ग घटना में शामिल एक समाधान या परियोजना खोलने के बाद तुरंत होता है।

0

आप DTE2 कक्षा में एक संपत्ति Events कहा जाता है यह घटनाओं की एक बहुत तरह, तुम क्या जरूरत है आप का उपयोग करने के लिए देता है:

DTE2 _applicationObject 
_applicationObject.Events.SolutionEvents.Opened+=new _dispSolutionEvents_OpenedEventHandler(SolutionEvents_Opened); 
संबंधित मुद्दे

 संबंधित मुद्दे