Compartilhar via


Propriedade UndoContext.IsOpen

Obtém se uma operação de desfazer está atualmente em vigor ou se uma solução é aberta.

Namespace:  EnvDTE
Assembly:  EnvDTE (em EnvDTE.dll)

Sintaxe

'Declaração
ReadOnly Property IsOpen As Boolean
bool IsOpen { get; }
property bool IsOpen {
    bool get ();
}
abstract IsOpen : bool
function get IsOpen () : boolean

Valor de propriedade

Tipo: System.Boolean
Um valor booleano indicando true se uma operação de desfazer está em vigor, ou se uma solução estiver aberta, false se não for.

Comentários

Uma operação de desfazer está em vigor se a UndoContext objeto é aberto.

Uma solução aberta não tem necessariamente um arquivo de solução (. sln), porque ele pode não ter sido salvo ainda.

Exemplos

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();
            }
        }
    }
}

Segurança do .NET Framework

Consulte também

Referência

UndoContext Interface

Namespace EnvDTE

Outros recursos

Como: compilar e executar os exemplos de código de modelo de objeto de automação