2011-09-09 28 views
-1

我正在開發一個Visual Studio AddIn,它顯示了一個類似於通常Toolbox的ToolWindow。現在我想打開它時就像正常的工具箱一樣停靠。這是用來打開它(_applicationObject_addInInstance是DTE2和外接從在OnConnection參數)中獲得的代碼:如何以編程方式將工具窗口停靠在Visual Studio中AddIn

Windows2 wins2obj = (Windows2)_applicationObject.Windows; 
Assembly asm = Assembly.GetExecutingAssembly(); 
string an = asm.Location; 
string className = "MyAddIn.MyToolboxCtl"; 
object programmableObject = null; 
Window windowToolWindow = wins2obj.CreateToolWindow2(_addInInstance, an, 
    className, "A caption", aGuid, 
    ref programmableObject); 

我能夠使它可見之前停靠該窗口的IsFloating屬性設置爲false:

windowToolWindow.IsFloating = false; 
windowToolWindow.Visible = true; 

這幾乎沒問題,但窗口停靠在主窗口的下半部分,在那裏您通常會看到輸出,觀察,調用堆棧以及那種窗口。有沒有辦法強制它在左側打開,你通常會看到工具箱?

編輯:

我想我的對接窗口和工具箱窗口一起創建LinkedWindowFrame:

Window2 w1 = (Window2)wins2obj.Item(Constants.vsWindowKindToolbox); 
Window2 frame = (Window2)wins2obj.CreateLinkedWindowFrame(w1, windowToolWindow, 
         vsLinkedWindowType.vsLinkedWindowTypeTabbed); 

結果好歹相似,我想要實現的,即工具箱和我的窗口停靠在一起,但是由此產生的窗口是浮動的,而不是停靠在主窗口的左側。

回答

相關問題