다음을 통해 공유


Window2.Close 메서드 (vsSaveChanges)

열린 문서를 닫고 필요에 따라 저장하거나 창을 닫고 소멸시킵니다.

네임스페이스:  EnvDTE80
어셈블리:  EnvDTE80(EnvDTE80.dll)

구문

‘선언
Sub Close ( _
    SaveChanges As vsSaveChanges _
)
void Close(
    vsSaveChanges SaveChanges
)
void Close(
    [InAttribute] vsSaveChanges SaveChanges
)
abstract Close : 
        SaveChanges:vsSaveChanges -> unit 
function Close(
    SaveChanges : vsSaveChanges
)

매개 변수

구현

Window.Close(vsSaveChanges)

예제

이 예제에서는 텍스트 파일이 활성 창이 됩니다. 그런 다음 이를 사용하여 창 컬렉션을 반복하며 속성의 수를 표시한 후 창 개체를 닫습니다.

이 예제를 실행하려면 먼저 Visual Studio에서 프로젝트를 열고 "TextFile1.txt"라는 텍스트 파일을 이 프로젝트에 추가한 다음 이를 활성 창으로 만듭니다.

이 예제를 추가 기능으로 실행하는 방법에 대한 자세한 내용은 방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행을 참조하십시오.

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)
    WinActivateExample(_applicationObject)
End Sub
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 OnConnection(object application,
 ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    WinActivateExample(_applicationObject);
}
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);
    }
}

.NET Framework 보안

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

참고 항목

참조

Window2 인터페이스

Close 오버로드

EnvDTE80 네임스페이스