Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
ObjectId layoutId = ObjectId.Null;
string layoutName;
[CommandMethod("TEST")]
public void Test()
{
Application.DocumentManager.MdiActiveDocument.Database.ObjectOpenedForModify += OnObjectOpenedForModify;
}
private void OnObjectOpenedForModify(object sender, ObjectEventArgs e)
{
if (e
.DBObject is Layout
) {
var layout = (Layout)e.DBObject;
layoutId = layout.ObjectId;
layoutName = layout.LayoutName;
layout.Database.ObjectModified += OnObjectModified;
}
}
void OnObjectModified(object sender, ObjectEventArgs e)
{
if (e.DBObject.ObjectId == layoutId)
{
e.DBObject.Database.ObjectModified -= OnObjectModified;
var layout = (Layout)e.DBObject;
if (layoutName != layout.LayoutName)
{
ed.WriteMessage($"\nLayout '{layoutName}' has been renamed: '{layout.LayoutName}'.");
}
}
}