2010-10-15 14 views
5

मेरे पास वर्तमान में एक दृश्य स्टूडियो एड-इन है और मैंने एक नया आउटपुट विंडो फलक बनाया है जिसे मैं सफलतापूर्वक पाठ लिख सकता हूं। हालांकि, जब आउटपुट विंडो खुलती नहीं है या इसे कम किया जाता है तो जब मैं फलक पर सक्रिय() विधि को कॉल करता हूं तो यह (पॉपअप) नहीं खुलता है। कोई विचार है कि मैं इसे कैसे प्राप्त कर सकता हूं?एक ऐड-इन से आउटपुट विंडो को कैसे प्रदर्शित करें?

+1

मैं कहूंगा कि यह स्वचालित रूप से विंडोज़ स्विच करने के लिए ऐड-इन के लिए बहुत उपयुक्त नहीं है। इसे उपयोगकर्ता को छोड़ दें। –

+0

@ हंस - यह एक खोज के समान हो सकता है जहां खोज के बाद, परिणाम विंडो को फोकस दिया गया है और आप वहां उपयोगकर्ता का ध्यान निर्देशित करना चाहते हैं। नहीं? – shaunmartin

+0

@ हंस क्या होगा यदि उसका ऐड-इन जादूगर आपके सभी काम करता है? –

उत्तर

4

यदि आपने ऐड-इन विज़ार्ड का उपयोग करके अपना ऐड-इन बनाया है तो आपके पास नीचे एक Exec() विधि होनी चाहिए। मैंने दो लाइनें जोड़ दी हैं जो आउटपुट विंडो को खोलने का कारण बनती हैं और यह दिखाई देती है कि यह मूल रूप से बंद या कम हो गया है या नहीं। मैंने इसे वीएस -2008 और वीएस -2010 में परीक्षण किया।

public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled) 
{ 
    handled = false; 
    if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault) 
    { 
     if(commandName == "AddinTest.Connect.AddinTest") 
     { 
      // Find the output window. 
      Window outputWindow = _applicationObject.Windows.Item(Constants.vsWindowKindOutput); 
      // Show the window. (You might want to make sure outputWindow is not null here...) 
      outputWindow.Visible = true; 

      handled = true; 
      return; 
     } 
    } 
} 
+0

धन्यवाद, वही था जो मुझे चाहिए था। – gouldos

+0

यह एक VSPackage में भी उपयोगी था, इसलिए इसके लिए धन्यवाद। यह मुझे पागल बना रहा था! _dteicationObject के बजाय _dte.Windows का उपयोग करने के लिए कोड को थोड़ा संशोधित करने की आवश्यकता है। –

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