解决锁定图层,图形不淡显的问题
程序员文章站
2022-10-17 21:52:28
锁定图层是我们常用的功能,其代码如下:public static void LockLayer(LayerTableRecord layer, Document doc) { using (var trans = doc.TransactionManager.StartTransaction()) ......
锁定图层是我们常用的功能,其代码如下:
public static void locklayer(layertablerecord layer, document doc) { using (var trans = doc.transactionmanager.starttransaction()) { layer.upgradeopen(); layer.islock = true; trans.commit(); } }
经测试发现,在图层管理器图层是锁定了,但是模型空间种,对应的图层却并没有锁定的淡显效果。笔者推测需要重新生成一下图形,故增加以下代码重新生成图形:
doc.editor.regen();
然而问题仍然没有解决,经查阅资料,需要重新设置一下图层关闭状态,才可以刷新显示。增加的代码如下:
layer.isoff = layer.isoff;
最终问题得以解决。完整代码如下:
public static void locklayer(layertablerecord layer, document doc) { using (var trans = doc.transactionmanager.starttransaction()) { layer.upgradeopen(); layer.islock = true; layer.isoff = layer.isoff;//刷新显示 trans.commit(); doc.editor.regen(); } }