UndoContext.IsAborted Property

Definition

Gets whether the UndoContext object operation was terminated by the SetAborted() method.

public:
 property bool IsAborted { bool get(); };

Property Value

A Boolean value indicating true if the operation was aborted, false if not.

Attributes

Examples

Sub IsAbortedExample()  
   ' Before running, select text in an open document.  
   Dim txtSel As TextSelection  
   Dim strTS As String, strAnswer As String, bIsOpen As Boolean  
   txtSel = DTE.ActiveDocument.Selection  
   strTS = txtSel.Text  

   ' Check to see if UndoContext object is already open.  
   If DTE.UndoContext.IsOpen = True Then  
      bIsOpen = True  
   Else  
      ' Open the UndoContext object to track changes.  
      DTE.UndoContext.Open("RemoveNewLines", False)  
   End If  
   MsgBox("Current IsAborted value: " & DTE.UndoContext.IsAborted)  

   ' Perform search for newline characters and remove them.  
   If strTS <> "" Then  
      txtSel.Delete()  
      strTS = Replace(strTS, vbNewLine, "", Compare:=vbTextCompare)  
      txtSel.Insert(strTS)  
   End If  

   ' Check to see if you want to discard changes.  
   strAnswer = MsgBox("Do you want to discard all changes made?", vbYesNo & vbQuestion)  
   If strAnswer = True Then  
      DTE.UndoContext.SetAborted()  
      MsgBox("Current IsAborted value: " & DTE.UndoContext.IsAborted)  
   End If  

   ' If UndoContext was already open, don't close it.  
   If bIsOpen = True Then  
      ' Close the UndoContext object to commit the changes.  
      DTE.UndoContext.Close()  
   End If  
End Sub  

Remarks

If the UndoContext object is disabled by SetAborted before being closed, all changes made to participating documents will be discarded when the UndoContext object is closed.

Applies to

Product Versions
Visual Studio SDK 2015, 2017, 2019, 2022