知其然不知其所以然(后续再研究)参考网址:https://blog.csdn.net/zwz2111/article/details/107459207
1、创建窗体,供2调用
2、创建外部命名(调用非模态窗体1)
3、创建实现外部事件接口的实例
4、在窗体中实现要调用的外部事件
............................................................................................................................................................................................................................................................................................................................................................................................................................................................................
通用外部事件
1、通用外部事件
public class CreateExternalEvent:IExternalEventHandler
{
public CreateExternalEvent(string name)
{
Name = name;
}
public string Name { get; private set; }
public Action<UIApplication> ExecuteAction { get; set; }
public void Execute(UIApplication app)
{
if (ExecuteAction != null)
{
try
{
ExecuteAction(app);
}
catch(Exception ex)
{
throw ex;
}
}
}
public string GetName()
{
return Name;
}
}
2、使用通用外部事件
if (_externalEvent != null)
{
if (_createExternalEvent != null)
{
_createExternalEvent.ExecuteAction = new Action<UIApplication>((app) =>
{
if (app.ActiveUIDocument == null || app.ActiveUIDocument.Document == null)
{
return;
}
try
{
//业务创建
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
});
_externalEvent.Raise();
}
}