private void btnGen_Click(object sender, EventArgs e) { if (ValidateWizard()) { //查找目标窗体是否打开 Form targetForm = MdiTools.FindForm(this.CurrentItem.TargetFormType.FullName); if (targetForm == null) //没有打开目标窗体,程序自动打开 { IMdiForm mainForm = MdiTools.MdiMainForm as IMdiForm; //MDI主窗体 targetForm = MdiTools.OpenChildForm(mainForm, this.CurrentItem.TargetFormType); //打开目标窗体 } else { if (!(targetForm is IBusinessSupportable)) { Msg.Warning("不支持生成目标窗体的数据!"); return; //不是MDI子窗体,退出 } if ((targetForm as IDataOperatable).DataChanged) { Msg.Warning("目标窗体 '" + this.CurrentItem.TargetFormName + "' 正在修改数据!请保存或取消修改后才能生成!"); return; } targetForm.Activate(); //目标窗体已打开,激活显示 } //调用目标窗体的新增方法 (targetForm as IDataOperatable).DoAdd(null); //开始生成单据 _GenSuccess = this.CurrentItem.Generate((targetForm as frmBaseBusinessForm).BLL); if (_GenSuccess) { Msg.ShowInformation("生成单据成功,请修改相关数据然后保存!"); this.Close(); targetForm.Activate();//显示目标窗体 } else { Msg.ShowError("生成单据失败!"); } } }