锁定图层是我们常用的功能,其代码如下:
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(); } }
如对本文有疑问, 点击进行留言回复!!
使用Visual Studio2019创建C#项目(窗体应用程序、控制台应用程序、Web应用程序)
C#实现获取本地内网(局域网)和外网(公网)IP地址的方法分析
网友评论