-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);
结果好歹相似,我想要实现的,即工具箱和我的窗口停靠在一起,但是由此产生的窗口是浮动的,而不是停靠在主窗口的左侧。