2013-11-26 4 views
0

MdiParent를 사용하여 컨테이너의 양식을 만드는 양식이 있습니다.이 보고서는 telerik보고를 사용하여 인쇄 단추가 있습니다. 보고서 바쁜 대화 상자를 사용하여 무언가가 과장되고 있음을 보여줍니다. 그러나 보고서가 생성되는 동안 양식이 닫히지 않습니다.MdiParent 소유자를 변경합니까? C#

indvidual 양식을 시작하면이 코드가 올바르게 작동합니다.

Form[] forms = this.OwnedForms; 

      foreach (Form f in forms) 
      { 
       if (f is TrainingReportGeneratingForm) 
        f.Close(); 
      } 

하지만 난 부모에서 시작하는 경우이 발생 형태가 다른 사람의 인쇄 버튼을

TrainingReportGeneratingForm form = new TrainingReportGeneratingForm(); 
       form.CancelGeneration += OnCancelGeneration; 
       form.Show(this); 
       backgroundWorker1.RunWorkerAsync(); 
+0

대신 MdiChildren 속성을 사용하십시오. 또는 더 나은 아직, 그냥 "양식"참조를 잃지 말고, 변수에 저장할 수 있습니다. –

답변

0

에서 같은 호출이

EmployeeQualSkillForm form = new EmployeeQualSkillForm(employeeId, employeeName); 
        form.MdiParent = this; 
        form.PamsSysdbfBizLogic = pamsSysdbfBizLogic; 
        form.Show(); 

아래의 코드를 사용하지 않습니다 형성 이걸 붙잡아 야 했어. 대신 이걸해야했다.

FormCollection fc = Application.OpenForms; 
foreach (Form frm in fc) 
{ 
    if (frm is TrainingReportGeneratingForm) 
     { 
     frm.Hide(); 
     } 

} 
관련 문제