Window2.Close(vsSaveChanges) 方法

定义

关闭打开的文档并可选择保存,或关闭并销毁此窗口。

void Close(EnvDTE::vsSaveChanges SaveChanges = EnvDTE.vsSaveChanges.vsSaveChangesNo);
[System.Runtime.InteropServices.DispId(132)]
public void Close (EnvDTE.vsSaveChanges SaveChanges = EnvDTE.vsSaveChanges.vsSaveChangesNo);
[<System.Runtime.InteropServices.DispId(132)>]
abstract member Close : EnvDTE.vsSaveChanges -> unit
Public Sub Close (Optional SaveChanges As vsSaveChanges = EnvDTE.vsSaveChanges.vsSaveChangesNo)

参数

SaveChanges
vsSaveChanges

可选。 一个 vsSaveChanges 常数,用于确定是否保存一个或一项。

实现

属性

示例

此示例将文本文件作为活动窗口。 然后,它使用它来循环访问 windows 集合以显示多个属性,然后关闭窗口对象。

在运行此示例之前,请在中打开一个项目 Visual Studio ,向其添加一个名为 "TextFile1.txt" 的文本文件,并使其成为活动窗口。

Imports EnvDTE  
Imports EnvDTE80  
Sub WinActivateExample(ByVal dte As DTE2)  
    Try  
        ' Before running, create a text file named  
        ' "TextFile1.txt", include it in your solution,   
        ' and make it the active window.  
        Dim win As Window2  
        Dim doc As Document  
        If _applicationObject.Documents.Count > 0 Then  
            doc = _applicationObject.Documents.Item("TextFile1.txt")  
            win = CType(doc.ActiveWindow, Window2)  
            ' Show the name of the Project that contains this  
            ' window and document.  
            MsgBox("The project that contains this window is named:" _  
            & win.Project.Name)  
            ' Activate the window.  
            win.Activate()  
            ' Other available windows.  
            Dim w As String = "Other available windows in  _  
            the collection:" & vbCr  
            For Each wi As Window2 In win.Collection  
                w = w & wi.Caption & vbCr  
            Next  
            MsgBox(w)  
            ' Close the window.  
            win.Close(vsSaveChanges.vsSaveChangesNo)  
        End If  
    Catch ex As Exception  
        MsgBox(ex.Message)  
    End Try  
End Sub  
using EnvDTE;  
using EnvDTE80;  
using System.Windows.Forms;  
public void WinActivateExample(DTE2 dte)  
{  
    try  
    {  
       // Before running, create a text file named   
        // "TextFile1.txt" and include it in your solution.  
        // You do not need to make it the active window.  
        Window win;  
        Document doc;  
        if (dte.Documents.Count > 0)  
        {  
            doc = dte.Documents.Item("TextFile1.txt");  
            win = doc.ActiveWindow;  
            // Show the name of the project that contains this   
            // window and document.  
            MessageBox.Show(win.Project.Name);  
            win.Activate(); // Activate the window  
            // Show the name of the current ProjectItem in the window.  
            MessageBox.Show(win.ProjectItem.Name);  
            // How many other windows are available?  
            string w = "Other available windows in the collection:\n";  
            foreach (Window wi in win.Collection)  
            {  
                w = w + wi.Caption + "\n";  
            }  
            // Close the window.  
            win.Close(vsSaveChanges.vsSaveChangesNo);  
        }  
    }  
    catch (Exception ex)  
    {  
        MessageBox.Show(ex.Message);  
    }  
}  

适用于