添加项目文件。
This commit is contained in:
96
RevitKits/ParameterManager/MetroParamsManagerCmd.cs
Normal file
96
RevitKits/ParameterManager/MetroParamsManagerCmd.cs
Normal file
@@ -0,0 +1,96 @@
|
||||
using System;
|
||||
using System.Windows;
|
||||
using System.Windows.Interop;
|
||||
using Autodesk.Revit.Attributes;
|
||||
using Autodesk.Revit.DB;
|
||||
using Autodesk.Revit.UI;
|
||||
using Sai.Database.Shared;
|
||||
using Sai.RvKits.Operation;
|
||||
using SZBIM.StandardTools;
|
||||
using SZBIM.StandardTools.ParameterManager;
|
||||
|
||||
namespace Sai.Common.Shared.ParameterManager
|
||||
{
|
||||
[Transaction(TransactionMode.Manual)]
|
||||
[Regeneration(RegenerationOption.Manual)]
|
||||
public class MetroParamsManagerCmd : IExternalCommand
|
||||
{
|
||||
private static readonly string DbString = $"Data Source={RelativePaths.DirAssembly}\\Database\\SZBIM.DeliveryStandard.db";
|
||||
private readonly DapperUtil dapperUtil = new(DbString);
|
||||
|
||||
|
||||
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
|
||||
{
|
||||
//程序UI界面
|
||||
UIApplication uiapp = commandData.Application;
|
||||
//获取元素(选择) 显示元素 视图(活动视图)管理(对象)
|
||||
|
||||
if (WinIntPtr.IsVisible("轨交参数管理"))
|
||||
{
|
||||
WinIntPtr.ShowAndActive("轨交参数管理");
|
||||
}
|
||||
else
|
||||
{
|
||||
var addParamsEventHandler = new AddProjectInfoParamsEventHandler();
|
||||
var addParamsEvent = ExternalEvent.Create(addParamsEventHandler);
|
||||
dapperUtil.CreateConnect();
|
||||
try
|
||||
{
|
||||
MetroParamsManagerWin paramsesWin = new MetroParamsManagerWin(dapperUtil)
|
||||
{
|
||||
AddProjectInfoParameterEventHandler = addParamsEventHandler,
|
||||
AddParameterEvent = addParamsEvent,
|
||||
UiApplication = uiapp
|
||||
};
|
||||
|
||||
_ = new WindowInteropHelper(paramsesWin)
|
||||
{
|
||||
Owner = System.Diagnostics.Process.GetCurrentProcess().MainWindowHandle
|
||||
};
|
||||
paramsesWin.Show();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
}
|
||||
finally
|
||||
{
|
||||
dapperUtil.CloseConnect();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return Result.Succeeded;
|
||||
}
|
||||
|
||||
//[DllImport("user32.dll", EntryPoint = "FindWindow")]
|
||||
//public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
|
||||
|
||||
//public static bool IsVisible(string winname)
|
||||
//{
|
||||
// IntPtr parenthWndldsl = FindWindow(null, winname);
|
||||
// if (!parenthWndldsl.Equals(IntPtr.Zero))
|
||||
// {
|
||||
// return true;
|
||||
// }
|
||||
|
||||
// return false;
|
||||
//}
|
||||
|
||||
//[DllImport("user32.dll")]
|
||||
//public static extern IntPtr SetActiveWindow(IntPtr hWnd);
|
||||
|
||||
//public static void ShowAndActive(string winName)
|
||||
//{
|
||||
// IntPtr parenthWndldsl = FindWindow(null, winName);
|
||||
// if (!parenthWndldsl.Equals(IntPtr.Zero))
|
||||
// {
|
||||
// ShowWindow(parenthWndldsl, 1);
|
||||
// SetActiveWindow(parenthWndldsl);
|
||||
// }
|
||||
//}
|
||||
|
||||
//[DllImport("user32.dll")]
|
||||
//public static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user