由于Ed在该帖子中指出-基本理念是获得IVsWindowFrame接口并调用SetFramePos()方法。获取IVsWindowFrame接口可能有点棘手,你在IServiceProvider上查询SVsWindowFrame服务,通过你的工具窗口的IVsWindowPane.SetSite方法来实现。如果你使用的是MPF工具窗口,你可以使用ToolWindowPane下的Frame
属性,但只有在OnToolWindowCreated方法被调用之后可以(确保工具窗口已经设置)。
代码示例:
Guid
nullGuid = Guid.Empty;
ToolWindowPane
window = this.FindToolWindow(typeof(YourToolWindowClass),
0, true);
if
((null == window) || (null
== window.Frame))
{
thrownewNotSupportedException(Resources.CanNotCreateWindow);
}
IVsWindowFrame
windowFrame = (IVsWindowFrame)window.Frame;
Microsoft.VisualStudio.ErrorHandler.ThrowOnFailure(windowFrame.Show());
windowFrame.SetFramePos(VSSETFRAMEPOS.SFP_fSize,
ref nullGuid, 5, 5, 305, 305);
请注意,Show方法被执行后调用SetFramePos方法
相关帖子:
http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/84dbae91-ee69-4081-b18a-5e3c37c1246f
如果您对我们的论坛在线支持服务有任何的意见或建议,请通过
邮件告诉我们。
立刻免费下载
MSDN 论坛好帮手