![]()
public static void 增加PY菜单()
{
var cbm = CommandBarManager.Instance;
var pycmd = "PYCMD";
if (cbm.RootTools.Contains(pycmd)) return;
if (cbm.MenuBar.Tools.Contains(pycmd)) return;
cbm.AllowCustomization = true;
cbm.BeginUpdate();
var mtMain = cbm.RootTools.AddMenuTool(pycmd, pycmd, null);
var mb = (MenuTool)cbm.MenuBar.Tools.AddTool(pycmd);
var pyScrPath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "PyScript");
var scrfns = Directory.GetFiles(pyScrPath, "*.py").ToList();
var cmds = scrfns.Select(c => Path.GetFileNameWithoutExtension(c)).ToList();
foreach (var cmd in cmds)
{
var bt = cbm.RootTools.AddButtonTool(cmd, cmd, null);
bt.ToolClick += (s, e) =>
{
var fn = scrfns.FirstOrDefault(c => Path.GetFileNameWithoutExtension(c) == cmd);
if (fn == null) return;
try
{
MarPythonEngine pyEngine = new MarPythonEngine();
pyEngine.RunPythonScript(fn);
}
catch (Exception ex) { ex.Message.Print2MessageBox(); }
};
mb.Tools.AddTool(bt.Key);
}
cbm.SaveLayout();
cbm.EndUpdate(true);
}