Using the Events OnStatus, OnPrinterReport, and OnPrintJobReport Example for C#
private LTDICPRNSCULib.LEADDicomPrintSCU objPrintSCU; 
private void objPrintSCU_OnStatus(LTDICPRNSCULib.PrintScuStatusEnum 
 Status, int OperationStatus)
{
   string sStatusCodeType = null;
   string sOpStatus = null; 
   switch (Status)
   {
      case LTDICPRNSCULib.PrintScuStatusEnum.PRNSCU_STATUS_RECEIVE_ABORT:
         MessageBox.Show("Source 
 = " + objPrintSCU.AbortSource 
 + ", " + "Reason = " + objPrintSCU.AbortReason, 
 "Print SCP Aborted the Association");
         break;
      case LTDICPRNSCULib.PrintScuStatusEnum.PRNSCU_STATUS_RECEIVE_PRINT_FILM_SESSION_RSP:
      {
         if (OperationStatus 
 == (int)LTDNCLib.DicomCommandStatusConstants.COMMAND_STATUS_SUCCESS) 
         { 
            if 
 (objPrintSCU.LastOperationStatus 
 == (int)LTDNCLib.DicomCommandStatusConstants.COMMAND_STATUS_SUCCESS)
               sStatusCodeType 
 = "Success"; 
            else
               sStatusCodeType 
 = "Warning";
         }
         else sStatusCodeType 
 = "Failure";
            sOpStatus 
 = System.Convert.ToString(objPrintSCU.LastOperationStatus, 16).ToUpper();
         while (sOpStatus.Length 
 < 4)
         {
            sOpStatus 
 = "0" + sOpStatus;
         }
         sOpStatus = "0x" 
 + sOpStatus;
         MessageBox.Show("Status: 
 " + sOpStatus + " (" + sStatusCodeType + ")", 
 "Received N-ACTION-RSP (Basic Film Session SOP Class)");
      }
      break;
   }
}
private void objPrintSCU_OnPrinterReport(short 
 EventTypeID, string PrinterStatusInfo, string FilmDestination, string 
 PrinterName)
{
   string sEventTypeName = null;
   sEventTypeName = "Normal";
   switch (EventTypeID)
   {
      case 2:
         sEventTypeName = "Warning";
         break;
      case 3: 
         sEventTypeName = "Failure";
         break;
   }
   string sMsg = null;
   sMsg = "Event Type Name: " + sEventTypeName;
   if (EventTypeID != 1)
      sMsg = sMsg + System.Environment.NewLine + "Printer Status Info: " 
 + PrinterStatusInfo + System.Environment.NewLine + "Film Destination: 
 " + FilmDestination + System.Environment.NewLine + "Printer 
 Name: " + PrinterName;
   MessageBox.Show(sMsg, "Printer Status Report");
} 
private void objPrintSCU_OnPrintJobReport(string 
 PrintJobSOPInstanceUID, short EventTypeID, string ExecutionStatusInfo, 
 string PrintJobID, string FilmSessionLabel, string PrinterName)
{
   string sEventTypeName = null;
   sEventTypeName = "Pending";
   switch (EventTypeID)
   {
      case 2:
         sEventTypeName = "Printing";
         break;
      case 3:
         sEventTypeName = "Done";
         break; 
      case 4:
         sEventTypeName = "Failure";
         break;
   }
   MessageBox.Show("Print Job SOP Instance UID: " + PrintJobSOPInstanceUID 
 + System.Environment.NewLine + "Event Type Name: " + sEventTypeName 
 + System.Environment.NewLine + "Execution Status Info: " + ExecutionStatusInfo 
 + System.Environment.NewLine + "Film Session Label: " + FilmSessionLabel 
 + System.Environment.NewLine + "Printer Name: " + PrinterName, 
 "Print Job Status Report");
}