using Core.Mes.Client.Comm.Control; 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 PopupCraftReviewTechnology : FrmBase { private object _frmCraftRvwTc = null; private Type _type = null; public PopupCraftReviewTechnology(string blCode, string[] validDataPurviewIds, OpeBase ob) { InitializeComponent(); this.ValidDataPurviewIds = validDataPurviewIds; this.ob = ob; //由于VS限制,项目不能相互引用,所以不能直接添加销售程序集,故使用了反射机制。 Assembly assembly = Assembly.LoadFrom(Environment.CurrentDirectory + "\\Core.StlMes.Client.SaleOrder.dll"); _frmCraftRvwTc = assembly.CreateInstance("Core.StlMes.Client.SaleOrder.ReviewForm.frmCraftReviewTechnology"); _type = _frmCraftRvwTc.GetType(); FrmBase form = (FrmBase)_frmCraftRvwTc; form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; FieldInfo fieldInfo = _type.GetField("ob"); fieldInfo.SetValue(_frmCraftRvwTc, ob); PropertyInfo propertyIsPopup = _type.GetProperty("IsPopup"); propertyIsPopup.SetValue(_frmCraftRvwTc, true, null); PropertyInfo propertyTxtOrderNo = _type.GetProperty("UtxtOrderNo"); UltraTextEditor txtOrderNo = (UltraTextEditor)propertyTxtOrderNo.GetValue(_frmCraftRvwTc, null); txtOrderNo.Text = blCode; PropertyInfo propertyChkOrderNo = _type.GetProperty("UchkOrderNo"); UltraCheckEditor chkOrderNo = (UltraCheckEditor)propertyChkOrderNo.GetValue(_frmCraftRvwTc, null); chkOrderNo.Checked = true; PropertyInfo propertyTimePicker1 = _type.GetProperty("LabelDateTimePicker1");//LabelDateTimePicker1 LabelDateTimePicker timePicker1 = (LabelDateTimePicker)propertyTimePicker1.GetValue(_frmCraftRvwTc, null); timePicker1.Checked = false; PropertyInfo propertyCheckBox1 = _type.GetProperty("CheckBox1"); CheckBox checkBox1 = (CheckBox)propertyCheckBox1.GetValue(_frmCraftRvwTc, null); checkBox1.Checked = true; PropertyInfo propertyGroupBox = _type.GetProperty("UltraGroupBox1"); UltraGroupBox groupBox = (UltraGroupBox)propertyGroupBox.GetValue(_frmCraftRvwTc, null); groupBox.Visible = false; form.TopLevel = false; form.Dock = DockStyle.Fill; form.Show(); PropertyInfo propertyDataPurviewIds = _type.GetProperty("DataPurviewIds"); propertyDataPurviewIds.SetValue(_frmCraftRvwTc, validDataPurviewIds, null); this.panel1.Controls.Add(form); } private void PopupCraftReviewTechnology_Load(object sender, EventArgs e) { try { this.Cursor = Cursors.WaitCursor; ToolBar_Click("doQuery"); } finally { this.Cursor = Cursors.Default; } } private void ToolBar_Click(string key) { MethodInfo methodInfo = _type.GetMethod("ToolBar_Click"); methodInfo.Invoke(_frmCraftRvwTc, 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("Appoint"); break; case "工艺制定": ToolBar_Click("doQuality"); break; case "工艺变更": ToolBar_Click("PlnCraftChange"); break; case "工艺文件": ToolBar_Click("QueryCraft"); break; case "提交审核": ToolBar_Click("SubmitAudit"); break; case "生成工艺文件": ToolBar_Click("CreateCraft"); break; case "自动匹配": ToolBar_Click("MatchCraftFile"); break; case "指定工艺文件": ToolBar_Click("AppointCraftFile"); break; case "指定临时工艺": ToolBar_Click("AppointTmpCraftFile"); break; case "回退": ToolBar_Click("RollBack"); break; case "合同查询": ToolBar_Click("ReviewOrderReport"); break; case "冶金规范": ToolBar_Click("Msc"); break; case "关闭": this.Close(); break; } } } }