69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.Drawing.Printing;
 | |
| 
 | |
| namespace GoldPrinter
 | |
| {
 | |
| 	public class PrinterSingleton
 | |
| 	{
 | |
| 		private static PrintDocument thePrintDocumentInstance = null;
 | |
| 
 | |
| 		private static PrinterMargins thePrinterMarginsInstance = null;
 | |
| 
 | |
| 		public static PrintDocument PrintDocument
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				return PrinterSingleton.GetPrintDocumentInstance();
 | |
| 			}
 | |
| 			set
 | |
| 			{
 | |
| 				PrinterSingleton.thePrintDocumentInstance = value;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		public static PrinterMargins PrinterMargins
 | |
| 		{
 | |
| 			get
 | |
| 			{
 | |
| 				return PrinterSingleton.GetPrinterMarginsInstance();
 | |
| 			}
 | |
| 			set
 | |
| 			{
 | |
| 				PrinterSingleton.thePrinterMarginsInstance = value;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		private PrinterSingleton()
 | |
| 		{
 | |
| 		}
 | |
| 
 | |
| 		public static void Reset()
 | |
| 		{
 | |
| 			if (PrinterSingleton.thePrintDocumentInstance != null)
 | |
| 			{
 | |
| 				PrinterSingleton.thePrintDocumentInstance.Dispose();
 | |
| 			}
 | |
| 			PrinterSingleton.thePrintDocumentInstance = null;
 | |
| 			PrinterSingleton.thePrinterMarginsInstance = null;
 | |
| 		}
 | |
| 
 | |
| 		private static PrintDocument GetPrintDocumentInstance()
 | |
| 		{
 | |
| 			if (PrinterSingleton.thePrintDocumentInstance == null)
 | |
| 			{
 | |
| 				PrinterSingleton.thePrintDocumentInstance = new PrintDocument();
 | |
| 			}
 | |
| 			return PrinterSingleton.thePrintDocumentInstance;
 | |
| 		}
 | |
| 
 | |
| 		private static PrinterMargins GetPrinterMarginsInstance()
 | |
| 		{
 | |
| 			if (PrinterSingleton.thePrinterMarginsInstance == null)
 | |
| 			{
 | |
| 				PrinterSingleton.thePrinterMarginsInstance = new PrinterMargins(PrinterSingleton.GetPrintDocumentInstance());
 | |
| 			}
 | |
| 			return PrinterSingleton.thePrinterMarginsInstance;
 | |
| 		}
 | |
| 	}
 | |
| }
 |