使用了Highlight() function, 希望把插入的块高亮显示,但是发现不起作用。
查找文档发现问题。
If the entity on which this method is called has its graphics queued for regeneration (that is, changes have been made to the entity but have not yet been reflected on screen), then this method will not cause a highlight to occur. Also, calling this method on an entity that's open for write and whose graphics are queued for regeneration may terminate AutoCAD.
To avoid this limitation, before calling Highlight(), you should flush the entity's graphics by either calling the entity's Draw() method, or calling the TransactionManager.FlushGraphics() function.
可以看出就是说当我的实体(entity)还处在修改的状态时, trans.commit() 函数还没有调用前,调用Highlight函数是不起作用的。ACAD 文档给出的解决办法是使用 Draw()和FlushGraphics() 函数。 我解决这个问题的时候是吧Highlight函数放到了Commit()函数的后面。