diff --git a/src/CAD/IFox.CAD.Shared/ExtensionMethod/RedrawEx.cs b/src/CAD/IFox.CAD.Shared/ExtensionMethod/RedrawEx.cs index c42ec5c79aefed9025fe2363e6d9514755a39809..f58f51d437f4679d3c66729e93c7c333c9e17e29 100644 --- a/src/CAD/IFox.CAD.Shared/ExtensionMethod/RedrawEx.cs +++ b/src/CAD/IFox.CAD.Shared/ExtensionMethod/RedrawEx.cs @@ -68,16 +68,20 @@ public static class RedrawEx /// 刷新屏幕 /// /// 编辑器 - /// 图元,调用时候图元必须提权 + /// 图元 public static void Redraw(this Editor ed, Entity? ent = null) { - // 刷新图元 - ent?.Redraw(BrightEntity.Draw | - BrightEntity.RecordGraphicsModified | - BrightEntity.RecomputeDimensionBlock | - BrightEntity.MoveZero); - // 刷新 - ed.Redraw(BrightEditor.UpdateScreen); + using (ent?.ForWrite()) + { + // 刷新图元 + ent?.Redraw(BrightEntity.Draw | + BrightEntity.RecordGraphicsModified | + BrightEntity.RecomputeDimensionBlock | + BrightEntity.MoveZero); + // 刷新 + ed.Redraw(BrightEditor.UpdateScreen); + } + /* * 我发现命令加 CommandFlags.Redraw 就不需要以下处理了: