using CoreFS.CA06; using Infragistics.Win.Misc; using Infragistics.Win.UltraWinEditors; using System; using System.Reflection; using System.Windows.Forms; namespace Core.StlMes.Client.Qcm { public partial class PopupOrderReviewTechnology : FrmBase { private object _frmOrdRvwTc = null; private Type _type = null; public PopupOrderReviewTechnology(string blCode, OpeBase ob) { InitializeComponent(); this.ob = ob; //由于VS限制,项目不能相互引用,所以不能直接添加销售程序集,故使用了反射机制。 Assembly assembly = Assembly.LoadFrom(Environment.CurrentDirectory + "\\Core.StlMes.Client.SaleOrder.dll"); _frmOrdRvwTc = assembly.CreateInstance("Core.StlMes.Client.SaleOrder.ReviewForm.frmOrderReviewTechnology"); _type = _frmOrdRvwTc.GetType(); FrmBase form = (FrmBase)_frmOrdRvwTc; form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; FieldInfo fieldInfo = _type.GetField("ob"); fieldInfo.SetValue(_frmOrdRvwTc, ob); PropertyInfo propertyTxtOrderNo = _type.GetProperty("UtxtOrderNo"); UltraTextEditor txtOrderNo = (UltraTextEditor)propertyTxtOrderNo.GetValue(_frmOrdRvwTc, null); txtOrderNo.Text = blCode; PropertyInfo propertyChkOrderNo = _type.GetProperty("UchkOrderNo"); UltraCheckEditor chkOrderNo = (UltraCheckEditor)propertyChkOrderNo.GetValue(_frmOrdRvwTc, null); chkOrderNo.Checked = true; PropertyInfo propertyGroupBox = _type.GetProperty("UltraGroupBox1"); UltraGroupBox groupBox = (UltraGroupBox)propertyGroupBox.GetValue(_frmOrdRvwTc, null); groupBox.Visible = false; form.TopLevel = false; form.Dock = DockStyle.Fill; form.Show(); PropertyInfo propertyUchkSts = _type.GetProperty("UchkSts"); UltraCheckEditor chkUchkSts = (UltraCheckEditor)propertyUchkSts.GetValue(_frmOrdRvwTc, null); chkUchkSts.Checked = false; this.panel1.Controls.Add(form); } private void PopupOrderReviewTechnology_Load(object sender, EventArgs e) { ToolBar_Click("doQuery"); } private void ToolBar_Click(string key) { MethodInfo methodInfo = _type.GetMethod("ToolBar_Click"); methodInfo.Invoke(_frmOrdRvwTc, new object[] { this, key }); } private void ultraToolbarsManager1_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) { switch (e.Tool.Key) { case "查询": ToolBar_Click("doQuery"); break; case "质量设计": ToolBar_Click("doQuality"); break; case "评审通过": ToolBar_Click("doReviewPass"); break; case "评审不通过": ToolBar_Click("doReviewNotPass"); break; case "技术评审回退": ToolBar_Click("RollBack"); break; case "冶金规范": ToolBar_Click("Msc"); break; case "关闭": this.Close(); break; } } } }