Поделиться через


UndoContext.IsOpen - свойство

Возвращает сведения о том, можно ли выполнить в настоящий момент операцию отмены и открыто ли решение.

Пространство имен:  EnvDTE
Сборка:  EnvDTE (в EnvDTE.dll)

Синтаксис

'Декларация
ReadOnly Property IsOpen As Boolean
    Get
bool IsOpen { get; }
property bool IsOpen {
    bool get ();
}
abstract IsOpen : bool
function get IsOpen () : boolean

Значение свойства

Тип: System.Boolean
Логическое значение, равное true, если операцию отмены можно выполнить и решение открыто, и false в противном случае.

Заметки

Операцию отмены можно выполнить, если объект UndoContext открыт.

Открытое решение может не иметь файла решения (SLN), так как оно, возможно, еще не сохранялось.

Примеры

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

Безопасность платформы .NET Framework

См. также

Ссылки

UndoContext Интерфейс

EnvDTE - пространство имен

Другие ресурсы

Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации