using Bentley.DgnPlatformNET; using Bentley.DgnPlatformNET.Elements; using Bentley.MstnPlatformNET; using ShrlAlgo.MsAddins.Views; namespace ShrlAlgo.MsAddIns { internal class CustomTool : DgnElementSetTool { private static CustomTool _toolSettings; private static CustomToolSettings customToolSettings; private readonly AddIn addin; public CustomTool(AddIn addin) : base(0, 0) { this.addin = addin; } protected override bool OnInstall() { base.OnInstall(); // 初始化工具设置对话框 if (_toolSettings == null) _toolSettings = new CustomTool(addin); if (customToolSettings == null) { customToolSettings = new CustomToolSettings(); } customToolSettings.Attach(addin); return true; } protected override void OnRestartTool() { _toolSettings.InstallTool(); } protected override bool OnResetButton(DgnButtonEvent ev) { customToolSettings.Detach(); ExitTool();//退出工具 return true;//返回 } public static void InstallNewTool() { _toolSettings = new CustomTool(MsAddIns.AddIn); customToolSettings = new CustomToolSettings(); _toolSettings.InstallTool(); } public override StatusInt OnElementModify(Element element) { throw new System.NotImplementedException(); } } }