2016-01-13 74 views
1

好的,這是我的整個代碼。現在... Detail_BeforePrint()將首先被調用,並且xrPictureBox8_BeforePrint秒。 現在我想撥打Detail_BeforePrinte.Cancel = true;裏面的elsexrPictureBox8_BeforePrint事件。發送取消參數C#

private void Detail_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) 
     { 
    //here should e.Cancel = true be if it came from xrPictureBox_BeforePrint() 
     } 

    private void xrPictureBox8_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) 
    { 
     try 
     { 
      if (xrPictureBox8.ImageUrl.Length > 0) { } 
      else 
      { 
      Detail_BeforePrint(null,[call Cancel parameter]); 
      } 

     } 
     catch (Exception) 
     { 

     } 
    } 
+1

這個問題太模糊了 - 我現在讀了3遍,我還不確定你需要什麼幫助。你想要完成什麼,以及你的問題到底是什麼。還提供了一個代碼示例。 – user1666620

回答

0

也許會有這樣的幫助嗎?

private void Detail_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) 
{ 
    DoDetail_BeforePrint(e, false); 
} 

private void DoDetail_BeforePrint(System.Drawing.Printing.PrintEventArgs e, bool cancel) 
{ 
    if (cancel) e.Cancel = true; 
    //other things 
} 

private void xrPictureBox8_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e) 
{ 
    try 
    { 
     if (xrPictureBox8.ImageUrl.Length > 0) { } 
     else 
     { 
      DoDetail_BeforePrint(e, true); 
      //or just call e.Cancel = true here? 
     } 
    } 
    catch (Exception) 
    { 
    } 
}