Partilhar via


UndoContext.IsOpen Property

Definition

Gets whether an undo operation is currently in effect or if a solution is open.

public:
 property bool IsOpen { bool get(); };
public:
 property bool IsOpen { bool get(); };
[System.Runtime.InteropServices.DispId(8)]
public bool IsOpen { [System.Runtime.InteropServices.DispId(8)] get; }
[<System.Runtime.InteropServices.DispId(8)>]
[<get: System.Runtime.InteropServices.DispId(8)>]
member this.IsOpen : bool
Public ReadOnly Property IsOpen As Boolean

Property Value

A Boolean value indicating true if an undo operation is in effect or if a solution is open, false if not.

Attributes

Examples

Sub IsOpenExample(ByVal dte As DTE2)  

    ' Create a new text file.  
    dte.ItemOperations.NewFile()  

    Dim doc As TextDocument = _  
        CType(dte.ActiveDocument.Object("TextDocument"), TextDocument)  
    Dim done As Boolean = False  

    Do While Not done  
        If dte.UndoContext.IsOpen = False Then  
            Try  
                dte.UndoContext.Open("Insert 10 Lines")  

                ' Insert 10 lines of text into the new document.  
                Dim point As EditPoint = doc.StartPoint.CreateEditPoint  
                Dim i As Integer  

                For i = 1 To 10  
                    point.Insert("This is a test." & vbCrLf)  
                Next  

                done = True  
            Catch  
            Finally  
                If done Then dte.UndoContext.Close()  
            End Try  
        End If  
    Loop  

End Sub  
public void IsOpenExample(DTE2 dte)  
{  
    // Create a new text file.  
    dte.ItemOperations.NewFile(@"General\Text File", "",   
        Constants.vsViewKindPrimary);  

    TextDocument doc =   
        (TextDocument)dte.ActiveDocument.Object("TextDocument");  
    bool done = false;  

    while (!done)  
    {  
        if (!dte.UndoContext.IsOpen)  
        {  
            try  
            {  
                dte.UndoContext.Open("Insert 10 Lines", false);  

                // Insert 10 lines of text into the new document.  
                EditPoint point = doc.StartPoint.CreateEditPoint();  

                for (int i = 0; i < 10; ++i)  
                    point.Insert("This is a test.\n");  

                done = true;  
            }  
            catch  
            {  
            }  
            finally  
            {  
                if (done) dte.UndoContext.Close();  
            }  
        }  
    }  
}  

Remarks

An undo operation is in effect if the UndoContext object is open.

An open solution does not necessarily have a solution (.sln) file, because it might not have been saved yet.

Applies to