控制事件 ElementTypeDuplicated
Controlling the event ElementTypeDuplicated
我正在控制事件 "application.ControlledApplication.ElementTypeDuplicated" 并且在输入新类型的名称后引发此事件,但在那之后我想覆盖对话框的结果(ID:"IDD_SYMBOL_ATTRIB") 在事件 ElementTypeDuplicated 之前引发。我已经尝试获取一个 Object Args 并在订阅事件 ElementTypeDuplicated 的方法中覆盖结果,但它不起作用。有办法吗?
示例:
public void OnElementTypeDuplicated(object o, ElementTypeDuplicatedEventArgs args)
{
//doing things
duplicatingTypeArgs.OverrideResult(0);
}
}
}
public void OnDialogDuplicatingELement(object o, DialogBoxShowingEventArgs args)
{
if (args.DialogId=="IDD_SYMBOL_ATTRIB")
{
duplicatingTypeArgs = args;
}
}
还没有测试过,但是如何使用 "Element.GetChangeTypeElementAddition" 来实现 IUpdater 而不是订阅复制类型事件
您可以在复制符号之前订阅 DocumentChanged
事件。这将为您提供所有新创建元素的元素 ID。 place family instance sample.
提供了一个使用示例
重复后,再次退订。
您可以使用 Idling
event 在复制终止时收到通知。
我正在控制事件 "application.ControlledApplication.ElementTypeDuplicated" 并且在输入新类型的名称后引发此事件,但在那之后我想覆盖对话框的结果(ID:"IDD_SYMBOL_ATTRIB") 在事件 ElementTypeDuplicated 之前引发。我已经尝试获取一个 Object Args 并在订阅事件 ElementTypeDuplicated 的方法中覆盖结果,但它不起作用。有办法吗?
示例:
public void OnElementTypeDuplicated(object o, ElementTypeDuplicatedEventArgs args)
{
//doing things
duplicatingTypeArgs.OverrideResult(0);
}
}
}
public void OnDialogDuplicatingELement(object o, DialogBoxShowingEventArgs args)
{
if (args.DialogId=="IDD_SYMBOL_ATTRIB")
{
duplicatingTypeArgs = args;
}
}
还没有测试过,但是如何使用 "Element.GetChangeTypeElementAddition" 来实现 IUpdater 而不是订阅复制类型事件
您可以在复制符号之前订阅 DocumentChanged
事件。这将为您提供所有新创建元素的元素 ID。 place family instance sample.
重复后,再次退订。
您可以使用 Idling
event 在复制终止时收到通知。