using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Xml; using System.Configuration; using Mesnac.PlugIn.View; using System.IO; using Mesnac.Basic; using Mesnac.Equips; using ICSharpCode.Core; using System.Reflection; using System.Reflection.Emit; using Mesnac.Controls.Default; namespace Mesnac.PlugIn.MCProject { public partial class FrmMCProject : DefaultViewContent { private string _projectPath = Path.Combine(Application.StartupPath, ConfigurationManager.AppSettings["MCProjectPath"]); //组态工程路径 //private TreeView _tree = null; //解析组态工程后的工程树 public FrmMCProject() { InitializeComponent(); } private void FrmMCProject_Load(object sender, EventArgs e) { try { //初始化工程路径 if (!Directory.Exists(this._projectPath)) { Directory.CreateDirectory(this._projectPath); } } catch (Exception ex) { MessageBox.Show(ex.Message); } this.InitMethod(); } /// /// 初始化方法 /// public void InitMethod() { Mesnac.Gui.Common.RunEngine.Instance.Init(this._projectPath , false, false); //初始化运行引擎 if (Mesnac.Gui.Common.RunEngine.Instance.Tree != null) { TreeNode nodeForms = Mesnac.Gui.Common.RunEngine.Instance.Tree.GetFirstNodeByNodeName(FixNodeName.NodeFormName); if (nodeForms != null && nodeForms.Nodes.Count > 0) { foreach (TreeNode tn in nodeForms.Nodes) { LinkLabel formLink = new LinkLabel(); formLink.Text = tn.Text; formLink.Tag = tn; formLink.Click += new EventHandler(formLink_Click); this.flowLayoutPanel1.Controls.Add(formLink); } } } } private void formLink_Click(object sender, EventArgs e) { LinkLabel formLink = sender as LinkLabel; TreeNode tn = formLink.Tag as TreeNode; Mesnac.Gui.Common.RunEngine.Instance.Simulation(tn, FormShowType.Form); } } }