Share via


Window2 接口

Window 对象表示环境中的一个窗口。

命名空间:  EnvDTE80
程序集:  EnvDTE80(在 EnvDTE80.dll 中)

语法

声明
<GuidAttribute("25731932-3283-4AE0-B7CF-F4691B8BE523")> _
Public Interface Window2 _
    Inherits Window
[GuidAttribute("25731932-3283-4AE0-B7CF-F4691B8BE523")]
public interface Window2 : Window
[GuidAttribute(L"25731932-3283-4AE0-B7CF-F4691B8BE523")]
public interface class Window2 : Window
[<GuidAttribute("25731932-3283-4AE0-B7CF-F4691B8BE523")>]
type Window2 =  
    interface 
        interface Window 
    end
public interface Window2 extends Window

Window2 类型公开以下成员。

属性

  名称 说明
公共属性 AutoHides 获取或设置是否可以隐藏工具窗口。
公共属性 Caption 获取或设置窗口的标题。
公共属性 Collection 获取包含支持此属性的 Window 对象的集合。
公共属性 CommandBars 获取当前窗口中包含的 Microsoft.VisualStudio.CommandBars 的集合。
公共属性 ContextAttributes 获取 ContextAttributes 集合,该集合允许自动化客户端向“动态帮助”窗口中的当前选定项添加新特性,并为其他特性提供上下文帮助。
公共属性 Document 获取与该项关联的 Document 对象(如果存在的话)。
公共属性 DocumentData 基础结构。 仅由 Microsoft 内部使用。
公共属性 DTE 获取顶级扩展性对象。
公共属性 Height 获取或设置指示窗口尺寸的值(以像素为单位)。
公共属性 HWnd 基础结构。 仅由 Microsoft 内部使用。
公共属性 IsFloating 获取或设置一个的值,它指示工具窗口是否浮动在其他窗口上。
公共属性 Kind 基础结构。 仅由 Microsoft 内部使用。
公共属性 Left 获取或设置对象的内部左边缘与其容器左边缘之间的水平距离。
公共属性 Linkable 获取或设置指示该工具窗口是否可以与其他工具窗口靠接的值。
公共属性 LinkedWindowFrame 获取表示包含该窗口的窗口框架的 Window 对象。
公共属性 LinkedWindows 获取包含于链接窗口框架中的所有链接窗口的集合。
公共属性 Object 获取在运行时可通过名称访问的对象。
公共属性 ObjectKind 获取 Window.Object 对象的类型,这是一个表示包含在窗口中的工具的 GUID 字符串。
公共属性 Project 获取与该 Window 对象关联的 Project 对象。
公共属性 ProjectItem 获取与该 Window 对象关联的 ProjectItem 对象。
公共属性 Selection 获取表示 Window 对象上当前选定内容的对象。
公共属性 Top 获取或设置对象的内部上边缘与其容器上边缘之间的垂直距离。
公共属性 Type 基础结构。 仅由 Microsoft 内部使用。
公共属性 Visible 获取或设置窗口的可见性。
公共属性 Width 获取或设置窗口的宽度(以字符为单位)。
公共属性 WindowState 获取或设置窗口的状态,即该窗口是最小化、正常还是其他状态。

页首

方法

  名称 说明
公共方法 Activate 将焦点移到当前项。
公共方法 Attach 基础结构。 仅由 Microsoft 内部使用。
公共方法 Close 关闭打开的文档并可选择保存,或关闭并销毁此窗口。
公共方法 Detach 基础结构。 仅由 Microsoft 内部使用。
公共方法 SetFocus 基础结构。 仅由 Microsoft 内部使用。
公共方法 SetKind 基础结构。 仅由 Microsoft 内部使用。
公共方法 SetSelectionContainer “属性”窗口活动时,允许将其中的对象设置为活动对象。
公共方法 SetTabPicture 将位图加载到链接的选项卡工具窗口上的选项卡式图片中。

页首

示例

此示例将**“输出窗口”“命令窗口”“解决方案资源管理器”**链接在一起。 然后,它操作这些链接窗口的宽度和高度,最后从链接窗口框架中取消停靠它们。

有关如何作为外接程序运行此示例的更多信息,请参见如何:编译和运行自动化对象模型代码示例

Imports EnvDTE
Imports EnvDTE80
Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    LinkedWindowsExample(_applicationObject)
End Sub
Sub LinkedWindowsExample(ByVal dte As DTE2)
    Dim Frame As Window2
    Dim wins As Windows2
    wins = CType(_applicationObject.Windows, EnvDTE80.Windows2)
    Dim w1 As Window2 = _
 CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindSolutionExplorer), EnvDTE80.Window2)
    Dim w2 As Window2 = _
 CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindOutput), EnvDTE80.Window2)
    Dim w3 As Window2 = _
 CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindCommandWindow), EnvDTE80.Window2)
    ' Create a linked window frame and dock Solution Explorer 
    ' and the Ouput window together inside it.
    Frame = CType(wins.CreateLinkedWindowFrame _
(w1, w2, vsLinkedWindowType.vsLinkedWindowTypeDocked), _
 EnvDTE80.Window2)
    MsgBox("Total number of windows in the linked window frame: " _
 & Frame.LinkedWindows.Count)
    ' Add another tool window, the Command window, to the frame with 
    ' the other two.
    Frame.LinkedWindows.Add(w3)
    MsgBox("Total number of windows in the linked window frame: " _
    & Frame.LinkedWindows.Count)
    ' Resize the entire linked window frame.
    Frame.Width = 500
    Frame.Height = 600
    MsgBox("Frame height and width changed. Now changing _
     Command window height.")
    ' Resize the height of the Command window.
    Frame.LinkedWindows.Item(3).Height = 800
    MsgBox("Now undocking the Command window from the frame.")
    ' Undock the Command window from the frame.
    Frame.LinkedWindows.Remove(w3)
    MsgBox("Now undocking the rest of the windows from the frame.")
    Frame.LinkedWindows.Remove(w2)
    Frame.LinkedWindows.Remove(w1)
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application, ext_ConnectMode
 connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    LinkedWindowsExample(_applicationObject);
}
public void LinkedWindowsExample(DTE2 dte)
{
    Window2 Frame;
    Windows2 wins;
    wins = (EnvDTE80.Windows2)_applicationObject.Windows;
    Window2 w1 = 
(EnvDTE80.Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindSolutionExplorer);
Window2 w2 =
 (EnvDTE80.Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindOutput);
    Window2 w3 = 
(EnvDTE80.Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindCommandWindow);
    // Create a linked window frame and dock Solution Explorer
    // and the Output window together inside it.
    Frame = (EnvDTE80.Window2)wins.CreateLinkedWindowFrame
(w1, w2, vsLinkedWindowType.vsLinkedWindowTypeDocked);
    MessageBox.Show("Total number of windows in the linked 
window frame: " + Frame.LinkedWindows.Count);
    // Add another tool window, the Command window, to the frame with
    // the other two.
    Frame.LinkedWindows.Add(w3);
    MessageBox.Show("Total number of windows in the linked 
window frame: " + Frame.LinkedWindows.Count);
    // Resize the entire linked window frame.
    Frame.Width = 500;
    Frame.Height = 600;
    MessageBox.Show("Frame height and width changed.
 Now changing Command window height.");
    // Resize the height of the Command window.
    Frame.LinkedWindows.Item(3).Height = 800;
    MessageBox.Show("Now undocking the Command window from 
the frame.");
    // Undock the Command window from the frame.
    Frame.LinkedWindows.Remove(w3);
    MessageBox.Show("Now undocking the rest of the windows 
from the frame.");
    Frame.LinkedWindows.Remove(w2);
    Frame.LinkedWindows.Remove(w1);
}

请参阅

参考

EnvDTE80 命名空间