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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。